home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / VBASIC / T2W16910.ZIP / T2WIN-16.FRM (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1997-01-16  |  292.8 KB  |  7,452 lines

  1. VERSION 4.00
  2. Begin VB.Form frmT2W 
  3.    BorderStyle     =   4  'Fixed ToolWindow
  4.    Caption         =   "TIME TO WIN (16-Bit Demo)"
  5.    ClientHeight    =   8115
  6.    ClientLeft      =   285
  7.    ClientTop       =   465
  8.    ClientWidth     =   9105
  9.    BeginProperty Font 
  10.       name            =   "MS Sans Serif"
  11.       charset         =   1
  12.       weight          =   700
  13.       size            =   8.25
  14.       underline       =   0   'False
  15.       italic          =   0   'False
  16.       strikethrough   =   0   'False
  17.    EndProperty
  18.    ForeColor       =   &H80000008&
  19.    Height          =   8460
  20.    Left            =   255
  21.    LinkTopic       =   "Form1"
  22.    MaxButton       =   0   'False
  23.    ScaleHeight     =   8115
  24.    ScaleWidth      =   9105
  25.    ShowInTaskbar   =   0   'False
  26.    Tag             =   "c"
  27.    Top             =   150
  28.    Width           =   9165
  29.    Begin VB.PictureBox Picture1 
  30.       AutoRedraw      =   -1  'True
  31.       AutoSize        =   -1  'True
  32.       BorderStyle     =   0  'None
  33.       Height          =   480
  34.       Left            =   8550
  35.       Picture         =   "T2WIN-16.frx":0000
  36.       ScaleHeight     =   480
  37.       ScaleWidth      =   480
  38.       TabIndex        =   0
  39.       Top             =   180
  40.       Visible         =   0   'False
  41.       Width           =   480
  42.    End
  43.    Begin VB.ComboBox Combo2 
  44.       Height          =   300
  45.       Left            =   6570
  46.       TabIndex        =   4
  47.       Top             =   450
  48.       Width           =   1185
  49.    End
  50.    Begin VB.TextBox Text1 
  51.       Height          =   285
  52.       Left            =   3150
  53.       TabIndex        =   10
  54.       Text            =   "Text1"
  55.       Top             =   7740
  56.       Width           =   5865
  57.    End
  58.    Begin VB.Frame Frame1 
  59.       Height          =   1455
  60.       Left            =   90
  61.       TabIndex        =   6
  62.       Top             =   6210
  63.       Visible         =   0   'False
  64.       Width           =   8925
  65.       Begin VB.ListBox List1 
  66.          Height          =   1200
  67.          Left            =   180
  68.          TabIndex        =   7
  69.          Top             =   180
  70.          Width           =   4155
  71.       End
  72.       Begin VB.ListBox List2 
  73.          Height          =   1200
  74.          Left            =   4590
  75.          TabIndex        =   8
  76.          Top             =   180
  77.          Width           =   4155
  78.       End
  79.    End
  80.    Begin VB.CommandButton Command1 
  81.       Caption         =   "&Start demo for the selected item"
  82.       Height          =   285
  83.       Left            =   90
  84.       TabIndex        =   2
  85.       Top             =   450
  86.       Width           =   4065
  87.    End
  88.    Begin VB.ComboBox Combo1 
  89.       Height          =   300
  90.       Left            =   90
  91.       TabIndex        =   1
  92.       Top             =   90
  93.       Width           =   7665
  94.    End
  95.    Begin VB.Label Label2 
  96.       Appearance      =   0  'Flat
  97.       BackColor       =   &H80000005&
  98.       BackStyle       =   0  'Transparent
  99.       Caption         =   "&Text for string manipulation"
  100.       ForeColor       =   &H80000008&
  101.       Height          =   195
  102.       Left            =   90
  103.       TabIndex        =   9
  104.       Top             =   7785
  105.       Width           =   2985
  106.    End
  107.    Begin VB.Label Label1 
  108.       BackStyle       =   0  'Transparent
  109.       Caption         =   "&Iterations for speed test"
  110.       Height          =   195
  111.       Left            =   4320
  112.       TabIndex        =   3
  113.       Top             =   510
  114.       Width           =   2175
  115.    End
  116.    Begin VB.Label Label3 
  117.       BackStyle       =   0  'Transparent
  118.       BorderStyle     =   1  'Fixed Single
  119.       Height          =   5340
  120.       Left            =   90
  121.       TabIndex        =   5
  122.       Top             =   810
  123.       Width           =   8925
  124.       WordWrap        =   -1  'True
  125.    End
  126. Attribute VB_Name = "frmT2W"
  127. Attribute VB_Creatable = False
  128. Attribute VB_Exposed = False
  129. Option Explicit
  130. Option Base 1
  131. Dim Item       As Integer
  132. Dim ItemFile   As Integer
  133. Dim ItemMean   As Integer
  134. Const RandI = 32767
  135. Const RandL = 2147483647
  136. Const RandS = 1E+10!
  137. Const RandD = 1E+16
  138. Dim Tmp  As String
  139. Sub TestMaxNotXI()
  140.    Dim Title      As String
  141.    Dim Tmp        As String
  142.    Dim Tmp1       As String
  143.    Dim Tmp2       As String
  144.    Dim i          As Integer
  145.    Dim j          As Integer
  146.    Dim m          As Double
  147.    ReDim array(ItemMean) As Integer
  148.    Randomize Timer
  149.    For i = LBound(array) To UBound(array)
  150.       array(i) = RandI * Rnd(1)
  151.       List1.AddItem "" & array(i)
  152.    Next i
  153.    j = cSortI(array())
  154.    For i = LBound(array) To UBound(array)
  155.       List2.AddItem "" & array(i)
  156.    Next i
  157.    List2.ListIndex = List2.ListCount - 1
  158.    Tmp1 = "The MAXNOTX of a integer array of " & (ItemMean + 1) & " elements (not '" & array(UBound(array)) & "') is " & Chr$(13) & Chr$(13) & cMaxNotXI(array(), array(UBound(array))) & Chr$(13) & Chr$(13)
  159.    cStartBasisTimer
  160.    For i = 1 To ItemFile
  161.       m = cMaxNotXI(array(), array(UBound(array)))
  162.    Next i
  163.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  164.    Label3.Caption = Tmp1
  165. End Sub
  166. Private Sub TestSplitFile()
  167.    Dim Title         As String
  168.    Dim Tmp           As String
  169.    Dim Tmp1          As String
  170.    Dim Tmp2          As String
  171.    Dim Tmp3          As String
  172.    Dim i             As Integer
  173.    Dim j             As Long
  174.    Dim PartSize      As Long
  175.    Tmp1 = ""
  176.    Tmp = "c:\autoexec.bat"
  177.    Tmp2 = "c:\autosplt"
  178.    PartSize = 512
  179.    Tmp1 = Tmp1 & "FileSize of '" & Tmp & "' is " & cFileSize(Tmp) & Chr$(13) & Chr$(13)
  180.    j = cSplitFile(Tmp, Tmp2, PartSize)
  181.    Tmp1 = Tmp1 & "SplitFile '" & Tmp & "' in part size of '" & PartSize & "' is " & j & Chr$(13) & Chr$(13)
  182.    For i = 0 To (j - 1)
  183.       Tmp3 = Tmp2 & "." & Format$(i, "000")
  184.       Tmp1 = Tmp1 & "FileSize of '" & Tmp3 & "' is " & cFileSize(Tmp3) & Chr$(13)
  185.    Next i
  186.    Tmp1 = Tmp1 & Chr$(13)
  187.    cStartBasisTimer
  188.    For i = 1 To Item
  189.       j = cSplitFile(Tmp, Tmp2, PartSize)
  190.    Next i
  191.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  192.    Label3.Caption = Tmp1
  193. End Sub
  194. Private Sub TestCutFile()
  195.    Dim Title         As String
  196.    Dim Tmp           As String
  197.    Dim Tmp1          As String
  198.    Dim Tmp2          As String
  199.    Dim Tmp3          As String
  200.    Dim i             As Integer
  201.    Dim j             As Long
  202.    Dim CutPosition   As Long
  203.    Tmp1 = ""
  204.    Tmp = "c:\autoexec.bat"
  205.    Tmp2 = "c:\autoexec.ct1"
  206.    Tmp3 = "c:\autoexec.ct2"
  207.    CutPosition = 345
  208.    Tmp1 = Tmp1 & "FileSize of '" & Tmp & "' is " & cFileSize(Tmp) & Chr$(13) & Chr$(13)
  209.    Tmp1 = Tmp1 & "CutFile '" & Tmp & "' in position '" & CutPosition & "' into file '" & Tmp2 & "' and '" & Tmp3 & "' is " & cCutFile(Tmp, Tmp2, Tmp3, CutPosition) & Chr$(13) & Chr$(13)
  210.    Tmp1 = Tmp1 & "FileSize of '" & Tmp2 & "' is " & cFileSize(Tmp2) & Chr$(13)
  211.    Tmp1 = Tmp1 & "FileSize of '" & Tmp3 & "' is " & cFileSize(Tmp3) & Chr$(13) & Chr$(13)
  212.    cStartBasisTimer
  213.    For i = 1 To Item
  214.       j = cCutFile(Tmp, Tmp2, Tmp3, CutPosition)
  215.    Next i
  216.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  217.    Label3.Caption = Tmp1
  218. End Sub
  219. Private Sub TestB2I()
  220.    Dim lngResult        As Long
  221.    Dim intResult        As Integer
  222.    Dim strResult        As String
  223.    Dim strDisplay       As String
  224.    Dim i                As Integer
  225.    Dim i1               As String
  226.    Dim i2               As String
  227.    Dim l1               As String
  228.    Dim l2               As String
  229.    i1 = "1010101010101010"
  230.    i2 = "0101010101010101"
  231.    l1 = "10101010101010101010101010101010"
  232.    l2 = "01010101010101010101010101010101"
  233.    lngResult = 0
  234.    strResult = ""
  235.    strDisplay = ""
  236.      
  237.    strDisplay = strDisplay & "B2I of " & i1 & " is " & cB2I(i1) & vbCr
  238.    strDisplay = strDisplay & "B2I of " & i2 & " is " & cB2I(i2) & vbCr & vbCr
  239.    strDisplay = strDisplay & "I2B of " & cB2I(i1) & " is " & cI2B(cB2I(i1)) & vbCr
  240.    strDisplay = strDisplay & "I2B of " & cB2I(i2) & " is " & cI2B(cB2I(i2)) & vbCr & vbCr
  241.    strDisplay = strDisplay & "B2L of " & l1 & " is " & cB2L(l1) & vbCr
  242.    strDisplay = strDisplay & "B2L of " & l2 & " is " & cB2L(l2) & vbCr & vbCr
  243.    strDisplay = strDisplay & "L2B of " & cB2L(l1) & " is " & cL2B(cB2L(l1)) & vbCr
  244.    strDisplay = strDisplay & "L2B of " & cB2L(l2) & " is " & cL2B(cB2L(l2)) & vbCr & vbCr
  245.    'time the function
  246.    cStartBasisTimer
  247.    For i = 1 To Item
  248.       intResult = cB2I("10101010")
  249.    Next i
  250.    strDisplay = strDisplay & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  251.    Label3.Caption = strDisplay
  252. End Sub
  253. Private Sub TestToZ9()
  254.    Dim intResult        As Integer
  255.    Dim strResult        As String
  256.    Dim strDisplay       As String
  257.    Dim i                As Integer
  258.    Dim Str1             As String
  259.    Dim Str2             As String
  260.    intResult = 0
  261.    strResult = ""
  262.    strDisplay = ""
  263.    Str1 = Text1.Text
  264.    Str2 = cToZ9(Str1)
  265.    strDisplay = strDisplay & "To Z9 of '" & Str1 & "' is" & vbCr & vbCr
  266.    strDisplay = strDisplay & "'" & Str2 & "'" & vbCr & vbCr
  267.    strDisplay = strDisplay & "From Z9 of '" & Str2 & "' is" & vbCr & vbCr
  268.    strDisplay = strDisplay & "'" & cFromZ9(Str2) & "'" & vbCr & vbCr
  269.    Str1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  270.    Str2 = cToZ9(Str1)
  271.    strDisplay = strDisplay & "To Z9 of '" & Str1 & "' is" & vbCr & vbCr
  272.    strDisplay = strDisplay & "'" & Str2 & "'" & vbCr & vbCr
  273.    strDisplay = strDisplay & "From Z9 of '" & Str2 & "' is" & vbCr & vbCr
  274.    strDisplay = strDisplay & "'" & cFromZ9(Str2) & "'" & vbCr & vbCr
  275.    Str1 = "01234567890"
  276.    Str2 = cToZ9(Str1)
  277.    strDisplay = strDisplay & "To Z9 of '" & Str1 & "' is" & vbCr & vbCr
  278.    strDisplay = strDisplay & "'" & Str2 & "'" & vbCr & vbCr
  279.    strDisplay = strDisplay & "From Z9 of '" & Str2 & "' is" & vbCr & vbCr
  280.    strDisplay = strDisplay & "'" & cFromZ9(Str2) & "'" & vbCr & vbCr
  281.    'time the function
  282.    Str1 = Text1.Text
  283.    cStartBasisTimer
  284.    For i = 1 To Item
  285.       strResult = cToZ9(Str1)
  286.    Next i
  287.    strDisplay = strDisplay & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  288.    Label3.Caption = strDisplay
  289. End Sub
  290. Private Sub TestToHexa()
  291.    Dim intResult        As Integer
  292.    Dim strResult        As String
  293.    Dim strDisplay       As String
  294.    Dim i                As Integer
  295.    Dim Str1             As String
  296.    Dim Str2             As String
  297.    intResult = 0
  298.    strResult = ""
  299.    strDisplay = ""
  300.    Str1 = Text1.Text
  301.    Str2 = cToHexa(Str1)
  302.    strDisplay = strDisplay & "To Hexa of '" & Str1 & "' is" & vbCr & vbCr
  303.    strDisplay = strDisplay & "'" & Str2 & "'" & vbCr & vbCr
  304.    strDisplay = strDisplay & "From Hexa of '" & Str2 & "' is" & vbCr & vbCr
  305.    strDisplay = strDisplay & "'" & cFromHexa(Str2) & "'" & vbCr & vbCr
  306.    Str1 = "ABCDEFGH"
  307.    Str2 = cToHexa(Str1)
  308.    strDisplay = strDisplay & "To Hexa of '" & Str1 & "' is" & vbCr & vbCr
  309.    strDisplay = strDisplay & "'" & Str2 & "'" & vbCr & vbCr
  310.    strDisplay = strDisplay & "From Hexa of '" & Str2 & "' is" & vbCr & vbCr
  311.    strDisplay = strDisplay & "'" & cFromHexa(Str2) & "'" & vbCr & vbCr
  312.    Str1 = "01234567890"
  313.    Str2 = cToHexa(Str1)
  314.    strDisplay = strDisplay & "To Hexa of '" & Str1 & "' is" & vbCr & vbCr
  315.    strDisplay = strDisplay & "'" & Str2 & "'" & vbCr & vbCr
  316.    strDisplay = strDisplay & "From Hexa of '" & Str2 & "' is" & vbCr & vbCr
  317.    strDisplay = strDisplay & "'" & cFromHexa(Str2) & "'" & vbCr & vbCr
  318.    'time the function
  319.    Str1 = Text1.Text
  320.    cStartBasisTimer
  321.    For i = 1 To Item
  322.       strResult = cToHexa(Str1)
  323.    Next i
  324.    strDisplay = strDisplay & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  325.    Label3.Caption = strDisplay
  326. End Sub
  327. Sub TestRUBYencrypt(Mode As Integer)
  328.    Dim lngResult        As Long
  329.    Dim strResult        As String
  330.    Dim strDisplay       As String
  331.    Dim i                As Integer
  332.    Dim Str1             As String
  333.    Dim Str2             As String
  334.    Dim Key              As String
  335.    Dim DescMode         As String
  336.    strResult = ""
  337.    strDisplay = ""
  338.    Select Case Mode
  339.       Case RUBY_MODE_MINIMUM: DescMode = "RUBY - minimum"
  340.       Case RUBY_MODE_DESK_LOCK: DescMode = "RUBY - desk lock"
  341.       Case RUBY_MODE_DEAD_BOLT: DescMode = "RUBY - dead bolt"
  342.       Case RUBY_MODE_PORTABLE_SAFE: DescMode = "RUBY - portable safe"
  343.       Case RUBY_MODE_ANCHORED_SAFE: DescMode = "RUBY - anchored safe"
  344.       Case RUBY_MODE_BANK_VAULT: DescMode = "RUBY - bank vault"
  345.       Case RUBY_MODE_FORT_KNOX: DescMode = "RUBY - FORT KNOX"
  346.    End Select
  347.    strDisplay = strDisplay & DescMode & vbCr & vbCr
  348.    Key = "1234567890123456"
  349.    Str1 = "TIME TO WIN (16-Bit)"
  350.    Str2 = cRUBYencrypt(Str1, Key, Mode)
  351.    strDisplay = strDisplay & "encrypt [" & Str1 & "] with '?' is [" & cFilterChars(Str2, Chr$(0)) & "]" & vbCr
  352.    strDisplay = strDisplay & "decrypt [" & cFilterChars(Str2, Chr$(0)) & "] with '?' is [" & cRUBYdecrypt(Str2, Key, Mode) & "]" & vbCr
  353.    strDisplay = strDisplay & vbCr
  354.    Str1 = "T2WIN-16 a DLL for VB 4.0"
  355.    Str2 = cRUBYencrypt(Str1, Key, Mode)
  356.    strDisplay = strDisplay & "encrypt [" & Str1 & "] with '?' is [" & cFilterChars(Str2, Chr$(0)) & "]" & vbCr
  357.    strDisplay = strDisplay & "decrypt [" & cFilterChars(Str2, Chr$(0)) & "] with '?' is [" & cRUBYdecrypt(Str2, Key, Mode) & "]" & vbCr
  358.    strDisplay = strDisplay & vbCr
  359.    Str1 = "Under the sky, the sun lights"
  360.    Str2 = cRUBYencrypt(Str1, Key, Mode)
  361.    strDisplay = strDisplay & "encrypt [" & Str1 & "] with '?' is [" & cFilterChars(Str2, Chr$(0)) & "]" & vbCr
  362.    strDisplay = strDisplay & "decrypt [" & cFilterChars(Str2, Chr$(0)) & "] with '?' is [" & cRUBYdecrypt(Str2, Key, Mode) & "]" & vbCr
  363.    strDisplay = strDisplay & vbCr
  364.    Str1 = "the fox jump over over the lazy dogs"
  365.    Str2 = cRUBYencrypt(Str1, Key, Mode)
  366.    strDisplay = strDisplay & "encrypt [" & Str1 & "] with '?' is [" & cFilterChars(Str2, Chr$(0)) & "]" & vbCr
  367.    strDisplay = strDisplay & "decrypt [" & cFilterChars(Str2, Chr$(0)) & "] with '?' is [" & cRUBYdecrypt(Str2, Key, Mode) & "]" & vbCr
  368.    strDisplay = strDisplay & vbCr
  369.    'time the function
  370.    cStartBasisTimer
  371.    For i = 1 To Item
  372.       strResult = cRUBYencrypt(Str1, Key, Mode)
  373.    Next i
  374.    strDisplay = strDisplay & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  375.    Label3.Caption = strDisplay
  376. End Sub
  377. Sub TestRUBYencryptFile(Mode As Integer)
  378.    Dim lngResult        As Long
  379.    Dim strResult        As String
  380.    Dim strDisplay       As String
  381.    Dim i                As Integer
  382.    Dim File1            As String
  383.    Dim File2            As String
  384.    Dim File3            As String
  385.    Dim Key              As String
  386.    Dim DescMode         As String
  387.    strResult = ""
  388.    strDisplay = ""
  389.    Select Case Mode
  390.       Case RUBY_MODE_MINIMUM: DescMode = "RUBY - minimum"
  391.       Case RUBY_MODE_DESK_LOCK: DescMode = "RUBY - desk lock"
  392.       Case RUBY_MODE_DEAD_BOLT: DescMode = "RUBY - dead bolt"
  393.       Case RUBY_MODE_PORTABLE_SAFE: DescMode = "RUBY - portable safe"
  394.       Case RUBY_MODE_ANCHORED_SAFE: DescMode = "RUBY - anchored safe"
  395.       Case RUBY_MODE_BANK_VAULT: DescMode = "RUBY - bank vault"
  396.       Case RUBY_MODE_FORT_KNOX: DescMode = "RUBY - FORT KNOX"
  397.    End Select
  398.    strDisplay = strDisplay & DescMode & vbCr & vbCr
  399.    File1 = "c:\autoexec.bat"
  400.    File2 = "c:\autoexec.rub"
  401.    File3 = "c:\autoexec.bur"
  402.    Key = "1234567890123456"
  403.    strDisplay = strDisplay & "encryptFile '" & File1 & "' with '?' to '" & File2 & "' is " & cRUBYencryptFile(File1, File2, Key, Mode) & vbCr
  404.    strDisplay = strDisplay & "decryptFile '" & File2 & "' with '?' to '" & File3 & "' is " & cRUBYdecryptFile(File2, File3, Key, Mode) & vbCr
  405.    strDisplay = strDisplay & "Compare (ns) '" & File1 & "' with '" & File3 & "' is " & IIf(cCmpFileContents(File1, File3, False) = -1, "same", "not same") & vbCr & vbCr
  406.    cStartBasisTimer
  407.    For i = 1 To Item
  408.       lngResult = cRUBYencryptFile(File1, File2, Key, Mode)
  409.    Next i
  410.    strDisplay = strDisplay & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  411.    Label3.Caption = strDisplay
  412. End Sub
  413. Sub TestGZIP()
  414.    Dim Title      As String
  415.    Dim Tmp        As String
  416.    Dim Tmp1       As String
  417.    Dim Tmp2       As String
  418.    Dim Tmp3       As String
  419.    Dim i          As Integer
  420.    Dim j          As Long
  421.    Tmp1 = ""
  422.    Tmp = "c:\autoexec.bat"
  423.    Tmp2 = "c:\autoexec.tb1"
  424.    Tmp3 = "c:\autoexec.tb2"
  425.    Tmp1 = Tmp1 & "GZIP File Compress '" & Tmp & "' to '" & Tmp2 & "' is " & cGZIPFileCompress(Tmp, Tmp2) & vbCr
  426.    Tmp1 = Tmp1 & "GZIP File Expand '" & Tmp2 & "' to '" & Tmp3 & "' is " & cGZIPFileExpand(Tmp2, Tmp3) & vbCr
  427.    Tmp1 = Tmp1 & "Compare file contents (not sensitive) '" & Tmp & "' with '" & Tmp3 & "' is " & IIf(cCmpFileContents(Tmp, Tmp3, False) = -1, "same", "not same") & vbCr & vbCr
  428.    cStartBasisTimer
  429.    For i = 1 To Item
  430.       j = cGZIPFileCompress(Tmp, Tmp2)
  431.    Next i
  432.    j = cGZIPFileExpand(Tmp2, Tmp3)
  433.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & vbCr & vbCr
  434.    Label3.Caption = Tmp1
  435. End Sub
  436. Private Sub Combo2_Click()
  437.    Item = Val(Combo2.Text)
  438.    ItemFile = Val(Combo2.Text)
  439.    ItemMean = Val(Combo2.Text)
  440. End Sub
  441. Private Sub Command1_Click()
  442.    Static Flag    As Integer
  443.    If (Flag = True) Then Exit Sub
  444.    frmT2W.Tag = cGetIn(cEXEnameActiveWindow(), ".", 1)
  445.    cDisableFI Picture1
  446.    Flag = True
  447.    MousePointer = 11
  448.    Frame1.Visible = False
  449.    List1.Clear
  450.    List2.Clear
  451.    List1.FontBold = True
  452.    List2.FontBold = True
  453.    Label3.Caption = ""
  454.    DoEvents
  455.    Select Case Combo1.ListIndex
  456.       Case 0
  457.          Frame1.Visible = True
  458.          Call TestAddI
  459.       Case 1
  460.          Frame1.Visible = True
  461.          Call TestDeviationI
  462.       Case 2
  463.          Frame1.Visible = True
  464.          Call TestFillI
  465.       Case 3
  466.          Frame1.Visible = True
  467.          Call TestMaxI
  468.       Case 4
  469.          Frame1.Visible = True
  470.          Call TestMeanI
  471.       Case 5
  472.          Frame1.Visible = True
  473.          Call TestMinI
  474.       Case 6
  475.          Frame1.Visible = True
  476.          Call TestSetI
  477.       Case 7
  478.          Frame1.Visible = True
  479.          Call TestSumI
  480.       Case 8
  481.          Frame1.Visible = True
  482.          Call TestSortI
  483.       Case 9
  484.          Frame1.Visible = True
  485.          Call TestReverseSortI
  486.       Case 10
  487.          Call TestAddTime
  488.       Case 11
  489.          Call TestTimeBetween
  490.       Case 12
  491.          Call TestCheckTime
  492.       Case 13
  493.          Call TestHourTo
  494.       Case 14
  495.          Call TestWindowsIni
  496.       Case 15
  497.          Call TestWinINI1
  498.       Case 16
  499.          Call TestWinINI2
  500.       Case 17
  501.          Call TestWinINI3
  502.       Case 18
  503.          Call TestAllSubDir
  504.       Case 19
  505.          Call TestGetDriveCurrentDir
  506.       Case 20
  507.          Call TestGetDefaultCurrentDir
  508.       Case 21
  509.          Call TestChDir
  510.       Case 22
  511.          Call TestCountFiles
  512.       Case 23
  513.          Call TestCountDirectories
  514.       Case 24
  515.          Call TestKillFiles
  516.       Case 25
  517.          Call TestGetFullnameInEnv
  518.       Case 26
  519.          Call TestGetDiskSpace
  520.       Case 27
  521.          Call TestGetDiskUsed
  522.       Case 28
  523.          Call TestGetDiskFree
  524.       Case 29
  525.          Call TestKillDir
  526.       Case 30
  527.          Call TestRenameFile
  528.       Case 31
  529.          Call TestFileResetAllAttrib
  530.       Case 32
  531.          Call TestFileSetAllAttrib
  532.       Case 33
  533.          Call TestIsFileX
  534.       Case 34
  535.          Call TestSubDirectory
  536.       Case 35
  537.          Call TestUniqueFileName
  538.       Case 36
  539.          Call TestIsX
  540.       Case 37
  541.          Call TestOneCharFromLeft
  542.       Case 38
  543.          Call TestOneCharFromRight
  544.       Case 39
  545.          Call TestBlockCharFromLeft
  546.       Case 40
  547.          Call TestBlockCharFromRight
  548.       Case 41
  549.          Call TestCompact
  550.       Case 42
  551.          Call TestUncompact
  552.       Case 43
  553.          Call TestInsertChars
  554.       Case 44
  555.          Call TestRemoveBlockChar
  556.       Case 45
  557.          Call TestRemoveOneChar
  558.       Case 46
  559.          Call TestCompressTab
  560.       Case 47
  561.          Call TestExpandTab
  562.       Case 48
  563.          Call TestGiveBitPalindrome
  564.       Case 49
  565.          Call TestIsBitPalindrome
  566.       Case 50
  567.          Call TestInsertBlocksBy
  568.       Case 51
  569.          Call TestInsertBlocks
  570.       Case 52
  571.          Call TestResizeStringAndFill
  572.       Case 53
  573.          Call TestResizeString
  574.       Case 54
  575.          Call TestFilterBlocks
  576.       Case 55
  577.          Call TestFilterChars
  578.       Case 56
  579.          Call TestCheckChars
  580.       Case 57
  581.          Call TestChangeChars
  582.       Case 58
  583.          Call TestChangeCharsUntil
  584.       Case 59
  585.          Call TestReverse
  586.       Case 60
  587.          Call TestGetIn
  588.       Case 61
  589.          Call TestGetBlock
  590.       Case 62
  591.          Call TestCreateAndFill
  592.       Case 63
  593.          Call TestStringCRC32
  594.       Case 64
  595.          Call TestCompress
  596.       Case 65
  597.          Call TestEncrypt
  598.       Case 66
  599.          Call TestDecrypt
  600.       Case 67
  601.          Call TestFileCRC32
  602.       Case 68
  603.          Call TestLrc
  604.       Case 69
  605.          Call TestIsPalindrome
  606.       Case 70
  607.          Call TestCheckNumericity
  608.       Case 71
  609.          Call TestFill
  610.       Case 72
  611.          Call TestSetAllBits
  612.       Case 73
  613.          Call TestSetBit
  614.       Case 74
  615.          Call TestGetBit
  616.       Case 75
  617.          Call TestFindBitSet
  618.       Case 76
  619.          Call TestFindBitReset
  620.       Case 77
  621.          Call TestToggleBit
  622.       Case 78
  623.          Call TestToggleAllBits
  624.       Case 79
  625.          Call TestReverseAllBits
  626.       Case 80
  627.          Call TestReverseAllBitsByChar
  628.       Case 81
  629.          Call TestCreateBits
  630.       Case 82
  631.          Call TestAtoR
  632.       Case 83
  633.          Call TestRtoA
  634.       Case 84
  635.          Call TestCustomControls
  636.       Case 85
  637.          Call TestSwap
  638.       Case 86
  639.          Call TestMin
  640.       Case 87
  641.          Call TestMenuChange
  642.       Case 88
  643.          Call TestFilesSize
  644.       Case 89
  645.          Call TestClusterSize
  646.       Case 90
  647.          Call TestAscTime
  648.       Case 91
  649.          Call TestLanguage
  650.       Case 92
  651.          Call TestReadLanguage
  652.       Case 93
  653.          Call TestFileCmp
  654.       Case 94
  655.          Call TestFileCopy
  656.       Case 95
  657.          Call TestFileFilter
  658.       Case 96
  659.          Call TestFileFilterNot
  660.       Case 97
  661.          Call TestFileEncrypt
  662.       Case 98
  663.          Call TestFileCompressTab
  664.       Case 99
  665.          Call TestSplitPath
  666.       Case 100
  667.          Call TestFullPath
  668.       Case 101
  669.          Call TestMakePath
  670.       Case 102
  671.          Call TestMsgBox
  672.       Case 103
  673.          Call TestInpBox
  674.       Case 104
  675.          Call TestMixChars
  676.       Case 105
  677.          Call TestFileVersionInfo
  678.       Case 106
  679.          Call TestFileVersion
  680.       Case 107
  681.          Call TestFileLineCount
  682.       Case 108
  683.          Call TestFileToX
  684.       Case 109
  685.          Call TestBig
  686.       Case 110
  687.          Call TestBigNum
  688.       Case 111
  689.          Call TestSysMenuChange(LNG_FRENCH)
  690.       Case 112
  691.          Call TestSysMenuChange(LNG_DUTCH)
  692.       Case 113
  693.          Call TestSysMenuChange(LNG_GERMAN)
  694.       Case 114
  695.          Call TestSysMenuChange(LNG_ENGLISH)
  696.       Case 115
  697.          Call TestSysMenuChange(LNG_ITALIAN)
  698.       Case 116
  699.          Call TestSysMenuChange(LNG_SPANISH)
  700.       Case 117
  701.          Call TestFileMerge
  702.       Case 118
  703.          Call TestFileSR
  704.       Case 119
  705.          Call TestFileS
  706.       Case 120
  707.          Call TestPatternMatch
  708.       Case 121
  709.          Call TestPatternExtMatch
  710.       Case 122
  711.          Call TestMorse
  712.       Case 123
  713.          Call TestDriveType
  714.       Case 124
  715.          Call TestBaseConversion
  716.       Case 125
  717.          Call TestFileStatictics
  718.       Case 126
  719.          Call TestDAStr(True)
  720.       Case 127
  721.          Call TestDAL(True)
  722.       Case 128
  723.          Call TestDAType(True)
  724.       Case 129
  725.          Call TestDAStr(False)
  726.       Case 130
  727.          Call TestDAL(False)
  728.       Case 131
  729.          Call TestDAType(False)
  730.       Case 132
  731.          Call TestDAStr(1)
  732.       Case 133
  733.          Call TestDAL(1)
  734.       Case 134
  735.          Call TestDAType(1)
  736.       Case 135
  737.          Call TestDAStr(2)
  738.       Case 136
  739.          Call TestDAL(2)
  740.       Case 137
  741.          Call TestDAType(2)
  742.       Case 138
  743.          Call TestDAStr(3)
  744.       Case 139
  745.          Call TestDAL(3)
  746.       Case 140
  747.          Call TestDAType(3)
  748.       Case 141
  749.          Call TestDAStr(4)
  750.       Case 142
  751.          Call TestDAL(4)
  752.       Case 143
  753.          Call TestDAType(4)
  754.       Case 144
  755.          Call TestDAStr(5)
  756.       Case 145
  757.          Call TestDAL(5)
  758.       Case 146
  759.          Call TestDAType(5)
  760.       Case 147
  761.          Call TestDAStr(6)
  762.       Case 148
  763.          Call TestDAL(6)
  764.       Case 149
  765.          Call TestDAType(6)
  766.       Case 150
  767.          Call TestCloseAllEditForm
  768.       Case 151
  769.          Call TestHideAllEditForm
  770.       Case 152
  771.          Call TestHideDebugForm
  772.       Case 153
  773.          Call TestOrToken
  774.       Case 154
  775.          Call TestAndToken
  776.       Case 155
  777.          Call TestWalkThruWindow
  778.       Case 156
  779.          Call TestSerial
  780.       Case 157
  781.          Call TestTimer
  782.       Case 158
  783.          Call TestAlign
  784.       Case 159
  785.          Call TestToken
  786.       Case 160
  787.          Call TestArrayOnDisk
  788.       Case 161
  789.          Call TestArrayStringOnDisk
  790.       Case 162
  791.          Call TestCnvAE
  792.       Case 163
  793.          Call TestCombination
  794.       Case 164
  795.          Frame1.Visible = True
  796.          Call TestFileSort(SORT_ASCENDING + SORT_CASE_SENSITIVE, False)
  797.       Case 165
  798.          Frame1.Visible = True
  799.          Call TestFileSort(SORT_DESCENDING + SORT_CASE_SENSITIVE, False)
  800.       Case 166
  801.          Frame1.Visible = True
  802.          Call TestFileSort(SORT_ASCENDING + SORT_CASE_INSENSITIVE, False)
  803.       Case 167
  804.          Frame1.Visible = True
  805.          Call TestFileSort(SORT_DESCENDING + SORT_CASE_INSENSITIVE, False)
  806.       Case 168
  807.          Frame1.Visible = True
  808.          Call TestFileSort(SORT_ASCENDING + SORT_CASE_SENSITIVE, True)
  809.       Case 169
  810.          Frame1.Visible = True
  811.          Call TestFileSort(SORT_DESCENDING + SORT_CASE_SENSITIVE, True)
  812.       Case 170
  813.          Frame1.Visible = True
  814.          Call TestFileSort(SORT_ASCENDING + SORT_CASE_INSENSITIVE, True)
  815.       Case 171
  816.          Frame1.Visible = True
  817.          Call TestFileSort(SORT_DESCENDING + SORT_CASE_INSENSITIVE, True)
  818.       Case 172
  819.          Call TestRegistrationKey
  820.       Case 173
  821.          Call TestMD5
  822.       Case 174
  823.          Call TestProperName
  824.       Case 175
  825.          Call TestMatrixAdd
  826.       Case 176
  827.          Call TestMatrixSub
  828.       Case 177
  829.          Call TestMatrixCopy
  830.       Case 178
  831.          Call TestMatrixMul
  832.       Case 179
  833.          Call TestMatrixTranspose
  834.       Case 180
  835.          Call TestMatrixCompare
  836.       Case 181
  837.          Call Test2D
  838.       Case 182
  839.          Call Test3D
  840.       Case 183
  841.          Call TestProperName2
  842.       Case 184
  843.          Call TestDOSMediaID
  844.       Case 185
  845.          Call TestFileCompress
  846.       Case 186
  847.          Call TestStringCompress
  848.       Case 187
  849.          Frame1.Visible = True
  850.          Call TestFillIncrI
  851.       Case 188
  852.          Call TestMatrixDet
  853.       Case 189
  854.          Call TestMatrixInv
  855.       Case 190
  856.          Call TestMatrixMinCo
  857.       Case 191
  858.          Call TestMatrixSymToeplitz
  859.       Case 192
  860.          Call TestFloppyInfo
  861.       Case 193
  862.          Call TestDOSGetVolLabel
  863.       Case 194
  864.          Call TestAddTwoTimes
  865.       Case 195
  866.          Call TestMDA(True)
  867.       Case 196
  868.          Call TestMDA(False)
  869.       Case 197
  870.          Call TestMDA(1)
  871.       Case 198
  872.          Call TestMDA(2)
  873.       Case 199
  874.          Call TestMDA(3)
  875.       Case 200
  876.          Call TestMDA(4)
  877.       Case 201
  878.          Call TestMDA(5)
  879.       Case 202
  880.          Call TestMDA(6)
  881.       Case 203
  882.          Call TestDate
  883.       Case 204
  884.          Call TestVersion
  885.       Case 205
  886.          Call TestGetInR
  887.       Case 206
  888.          Call TestBigString01
  889.       Case 207
  890.          Call TestHMAStr(True)
  891.       Case 208
  892.          Call TestHMAL(True)
  893.       Case 209
  894.          Call TestHMAType(True)
  895.       Case 210
  896.          Call TestHMAStr(1)
  897.       Case 211
  898.          Call TestHMAL(1)
  899.       Case 212
  900.          Call TestHMAType(1)
  901.       Case 213
  902.          Call TestHMAStr(2)
  903.       Case 214
  904.          Call TestHMAL(2)
  905.       Case 215
  906.          Call TestHMAType(2)
  907.       Case 216
  908.          Call TestHMAStr(3)
  909.       Case 217
  910.          Call TestHMAL(3)
  911.       Case 218
  912.          Call TestHMAType(3)
  913.       Case 219
  914.          Call TestHMAStr(4)
  915.       Case 220
  916.          Call TestHMAL(4)
  917.       Case 221
  918.          Call TestHMAType(4)
  919.       Case 222
  920.          Call TestHMAStr(5)
  921.       Case 223
  922.          Call TestHMAL(5)
  923.       Case 224
  924.          Call TestHMAType(5)
  925.       Case 225
  926.          Call TestHMAStr(6)
  927.       Case 226
  928.          Call TestHMAL(6)
  929.       Case 227
  930.          Call TestHMAType(6)
  931.       Case 228
  932.          Frame1.Visible = True
  933.          Call TestArrayLB
  934.       Case 229
  935.          Call TestTime
  936.       Case 230
  937.          Call TestControl3D
  938.       Case 231
  939.          Call TestFileChangeChars
  940.       Case 232
  941.          Call TestFilesInfoInDir
  942.       Case 233
  943.          Call TestRcsCountFileDir
  944.       Case 234
  945.          Frame1.Visible = True
  946.          Call TestFilesInDirOnDisk
  947.       Case 235
  948.          Frame1.Visible = True
  949.          Call TestFilesInDirToArray
  950.       Case 236
  951.          Call TestRcsFilesSize
  952.       Case 237
  953.          Call TestMnuLanguage
  954.       Case 238
  955.          Call TestSpellMoney
  956.       Case 239
  957.          Call TestFraction
  958.       Case 240
  959.          Call TestRndX
  960.       Case 241
  961.          Call TestStringSAR
  962.       Case 242
  963.          Call TestTruncatePath
  964.       Case 243
  965.          Call TestSysMenuChange(LNG_CATALAN)
  966.          Call TestLanguage
  967.          SendKeys "% "
  968.       Case 244
  969.          Call TestSysMenuChange(LNG_POLISH)
  970.          Call TestLanguage
  971.          SendKeys "% "
  972.       Case 245
  973.          Frame1.Visible = True
  974.          Call TestCountI
  975.       Case 246
  976.          Frame1.Visible = True
  977.          Call TestSearchI
  978.       Case 247
  979.          Call TestHexaToX
  980.       Case 248
  981.          Call TestBinaryToX
  982.       Case 249
  983.          Call TestGZIP
  984.       Case 250
  985.          Call TestGZIPStringCompress
  986.       Case 251
  987.          Call TestRUBYencrypt(RUBY_MODE_MINIMUM)
  988.       Case 252
  989.          Call TestRUBYencryptFile(RUBY_MODE_MINIMUM)
  990.       Case 253
  991.          Call TestRUBYencrypt(RUBY_MODE_PORTABLE_SAFE)
  992.       Case 254
  993.          Call TestRUBYencryptFile(RUBY_MODE_PORTABLE_SAFE)
  994.       Case 255
  995.          Call TestRUBYencrypt(RUBY_MODE_FORT_KNOX)
  996.       Case 256
  997.          Call TestRUBYencryptFile(RUBY_MODE_FORT_KNOX)
  998.       Case 257
  999.          Call TestSysMenuChange(LNG_NORVEGIAN)
  1000.          Call TestLanguage
  1001.          SendKeys "% "
  1002.       Case 258
  1003.          Call TestGetBitValue
  1004.       Case 259
  1005.          Call TestSetBitValue
  1006.       Case 260
  1007.          Call TestB2I
  1008.       Case 261
  1009.          Call TestToHexa
  1010.       Case 262
  1011.          Call TestToZ9
  1012.       Case 263
  1013.          Call TestCutFile
  1014.       Case 264
  1015.          Call TestSplitFile
  1016.       Case 265
  1017.          Frame1.Visible = True
  1018.          Call TestMaxNotXI
  1019.       Case 266
  1020.          Frame1.Visible = True
  1021.          Call TestMinNotXI
  1022.       Case 267
  1023.          Call TestFileMergeExt
  1024.    End Select
  1025.    MousePointer = 0
  1026.    Flag = False
  1027.    cEnableFI Picture1
  1028. End Sub
  1029. Private Sub CreateFile()
  1030.    Dim j       As Integer
  1031.    j = cFileResetAllAttrib("TEST.DAT")
  1032.    Close #1
  1033.    Open "TEST.DAT" For Output As #1
  1034.    Print #1, "This is a file test for t2win-16.dll"
  1035.    Print #1, "This is a file test for t2win-16.dll"
  1036.    Print #1, "This is a file test for t2win-16.dll"
  1037.    Print #1, "This is a file test for t2win-16.dll"
  1038.    Print #1, "This is a file test for t2win-16.dll"
  1039.    Print #1, "This is a file test for t2win-16.dll"
  1040.    Print #1, "This is a file test for t2win-16.dll"
  1041.    Close #1
  1042.    j = cFileResetAllAttrib("TEST.DAT")
  1043. End Sub
  1044. Private Sub DefCnv()
  1045.    Dim i       As Integer
  1046.    Dim j       As Integer
  1047.    Dim Tmp     As String
  1048.    Close #1
  1049.    Open "c:\tmp\tmp1.Tmp" For Input Shared As #1
  1050.    Close #2
  1051.    Open "c:\tmp\tmp.Tmp" For Output Shared As #2
  1052.    i = 0
  1053.    While Not EOF(1)
  1054.       Line Input #1, Tmp
  1055.       i = i + 1
  1056.       Tmp = cCompress(Tmp)
  1057.       Print #2, Tab(10); cGetIn(Tmp, "@", 1);
  1058.       Print #2, Tab(60); "@" & i
  1059.    Wend
  1060.    Close #1
  1061.    Close #2
  1062. End Sub
  1063. Private Sub Form_Load()
  1064.    Combo2.AddItem "1"
  1065.    Combo2.AddItem "5"
  1066.    Combo2.AddItem "10"
  1067.    Combo2.AddItem "50"
  1068.    Combo2.AddItem "100"
  1069.    Combo2.AddItem "500"
  1070.    Combo2.AddItem "1000"
  1071.    Combo2.AddItem "5000"
  1072.    Combo1.AddItem "Array routines : Add"
  1073.    Combo1.AddItem "Array routines : Deviation"
  1074.    Combo1.AddItem "Array routines : Fill"
  1075.    Combo1.AddItem "Array routines : Max"
  1076.    Combo1.AddItem "Array routines : Mean"
  1077.    Combo1.AddItem "Array routines : Min"
  1078.    Combo1.AddItem "Array routines : Set"
  1079.    Combo1.AddItem "Array routines : Sum"
  1080.    Combo1.AddItem "Array routines : Sort"
  1081.    Combo1.AddItem "Array routines : ReverseSort"
  1082.    Combo1.AddItem "Time routines : AddTime"
  1083.    Combo1.AddItem "Time routines : TimeBetween"
  1084.    Combo1.AddItem "Time routines : CheckTime"
  1085.    Combo1.AddItem "Time routines : HourTo"
  1086.    Combo1.AddItem "WIN.INI routines : some separators"
  1087.    Combo1.AddItem "WIN.INI routines : devices"
  1088.    Combo1.AddItem "WIN.INI routines : printerports"
  1089.    Combo1.AddItem "WIN.INI routines : winsection (windows section)"
  1090.    Combo1.AddItem "Files routines : AllSubDirectories"
  1091.    Combo1.AddItem "Files routines : GetDriveCurrentDir"
  1092.    Combo1.AddItem "Files routines : GetDefaultCurrentDir"
  1093.    Combo1.AddItem "Files routines : ChDir"
  1094.    Combo1.AddItem "Files routines : CountFiles"
  1095.    Combo1.AddItem "Files routines : CountDirectories"
  1096.    Combo1.AddItem "Files routines : KillFiles"
  1097.    Combo1.AddItem "Files routines : GetFullnameInEnv"
  1098.    Combo1.AddItem "Files routines : GetDiskSpace"
  1099.    Combo1.AddItem "Files routines : GetDiskUsed"
  1100.    Combo1.AddItem "Files routines : GetDiskFree"
  1101.    Combo1.AddItem "Files routines : KillDir"
  1102.    Combo1.AddItem "Files routines : RenameFile"
  1103.    Combo1.AddItem "Files routines : FileResetAllAttrib"
  1104.    Combo1.AddItem "Files routines : FileSetAllAttrib"
  1105.    Combo1.AddItem "Files routines : IsFileX"
  1106.    Combo1.AddItem "Files routines : SubDirectory"
  1107.    Combo1.AddItem "Files routines : UniqueFileName"
  1108.    Combo1.AddItem "String routines : IsX"
  1109.    Combo1.AddItem "String routines : OneCharFromLeft"
  1110.    Combo1.AddItem "String routines : OneCharFromRight"
  1111.    Combo1.AddItem "String routines : BlockCharFromLeft"
  1112.    Combo1.AddItem "String routines : BlockCharFromRight"
  1113.    Combo1.AddItem "String routines : Compact"
  1114.    Combo1.AddItem "String routines : Uncompact"
  1115.    Combo1.AddItem "String routines : InsertChars"
  1116.    Combo1.AddItem "String routines : RemoveBlockChar"
  1117.    Combo1.AddItem "String routines : RemoveOneChar"
  1118.    Combo1.AddItem "String routines : CompressTab"
  1119.    Combo1.AddItem "String routines : ExpandTab"
  1120.    Combo1.AddItem "String routines : GiveBitPalindrome"
  1121.    Combo1.AddItem "String routines : IsBitPalindrome"
  1122.    Combo1.AddItem "String routines : InsertBlocksBy"
  1123.    Combo1.AddItem "String routines : InsertBlocks"
  1124.    Combo1.AddItem "String routines : ResizeStringAndFill"
  1125.    Combo1.AddItem "String routines : ResizeString"
  1126.    Combo1.AddItem "String routines : FilterBlocks"
  1127.    Combo1.AddItem "String routines : FilterChars"
  1128.    Combo1.AddItem "String routines : CheckChars"
  1129.    Combo1.AddItem "String routines : ChangeChars"
  1130.    Combo1.AddItem "String routines : ChangeCharsUntil"
  1131.    Combo1.AddItem "String routines : Reverse"
  1132.    Combo1.AddItem "String routines : GetIn"
  1133.    Combo1.AddItem "String routines : GetBlock"
  1134.    Combo1.AddItem "String routines : CreateAndFill"
  1135.    Combo1.AddItem "String routines : StringCRC32"
  1136.    Combo1.AddItem "String routines : Compress"
  1137.    Combo1.AddItem "String routines : Encrypt"
  1138.    Combo1.AddItem "String routines : Decrypt"
  1139.    Combo1.AddItem "Files  routines : FileCRC32"
  1140.    Combo1.AddItem "String routines : Lrc"
  1141.    Combo1.AddItem "String routines : IsPalindrome"
  1142.    Combo1.AddItem "String routines : CheckNumericity"
  1143.    Combo1.AddItem "String routines : Fill"
  1144.    Combo1.AddItem "String routines : SetAllBits"
  1145.    Combo1.AddItem "String routines : SetBit"
  1146.    Combo1.AddItem "String routines : GetBit"
  1147.    Combo1.AddItem "String routines : FindBitSet"
  1148.    Combo1.AddItem "String routines : FindBitReset"
  1149.    Combo1.AddItem "String routines : ToggleBit"
  1150.    Combo1.AddItem "String routines : ToggleAllBits"
  1151.    Combo1.AddItem "String routines : ReverseAllBits"
  1152.    Combo1.AddItem "String routines : ReverseAllBitsByChar"
  1153.    Combo1.AddItem "String routines : CreateBits"
  1154.    Combo1.AddItem "String routines : ArabicToRoman"
  1155.    Combo1.AddItem "String routines : RomanToArabic"
  1156.    Combo1.AddItem "Custom controls"
  1157.    Combo1.AddItem "Swap routines"
  1158.    Combo1.AddItem "Min,Max routines"
  1159.    Combo1.AddItem "System menu change : French"
  1160.    Combo1.AddItem "Files routines : FilesSize, FilesSizeOnDisk, FilesSlack"
  1161.    Combo1.AddItem "Files routines : GetClusterSize"
  1162.    Combo1.AddItem "Language routines : GetAscTime"
  1163.    Combo1.AddItem "Language routines : Days and months name"
  1164.    Combo1.AddItem "Language routines : Read Control Language"
  1165.    Combo1.AddItem "File routines : Compare"
  1166.    Combo1.AddItem "File routines : File Copy"
  1167.    Combo1.AddItem "File routines : File Filter"
  1168.    Combo1.AddItem "File routines : File Filter Not"
  1169.    Combo1.AddItem "File routines : File Encrypt/Decrypt"
  1170.    Combo1.AddItem "File routines : File Compress/Expand Tab"
  1171.    Combo1.AddItem "File routines : SplitPath"
  1172.    Combo1.AddItem "File routines : FullPath"
  1173.    Combo1.AddItem "File routines : MakePath"
  1174.    Combo1.AddItem "Language routines : Multi-Language & TimeOut Message Box"
  1175.    Combo1.AddItem "Language routines : Multi-Language Input Box"
  1176.    Combo1.AddItem "String routines : MixChars"
  1177.    Combo1.AddItem "Windows Specific Routines : FileVersionInfo"
  1178.    Combo1.AddItem "Windows Specific Routines : FileVersion"
  1179.    Combo1.AddItem "File routines : FileLineCount"
  1180.    Combo1.AddItem "File routines : FileToLower/FileToUpper"
  1181.    Combo1.AddItem "Misc. routines : Big Double"
  1182.    Combo1.AddItem "Misc. routines : Big Numbers"
  1183.    Combo1.AddItem "System menu change (one call) : French"
  1184.    Combo1.AddItem "System menu change (one call) : Dutch"
  1185.    Combo1.AddItem "System menu change (one call) : German"
  1186.    Combo1.AddItem "System menu change (one call) : English"
  1187.    Combo1.AddItem "System menu change (one call) : Italian"
  1188.    Combo1.AddItem "System menu change (one call) : Spanish"
  1189.    Combo1.AddItem "File routines : FileMerge"
  1190.    Combo1.AddItem "File routines : FileSearchAndReplace"
  1191.    Combo1.AddItem "File routines : FileSearch, FileSearchCount"
  1192.    Combo1.AddItem "String routines : PatternMatch"
  1193.    Combo1.AddItem "String routines : PatternExtMatch"
  1194.    Combo1.AddItem "Misc. routines : Morse"
  1195.    Combo1.AddItem "DOS routines : GetDriveType"
  1196.    Combo1.AddItem "Misc. routines : Base conversion"
  1197.    Combo1.AddItem "File routines : FileStatistics"
  1198.    Combo1.AddItem "Disk Array routines : (create) String"
  1199.    Combo1.AddItem "Disk Array routines : (create) Long"
  1200.    Combo1.AddItem "Disk Array routines : (create) Type'd (b.e. : tagTASKENTRY)"
  1201.    Combo1.AddItem "Disk Array routines : (use) String"
  1202.    Combo1.AddItem "Disk Array routines : (use) Long"
  1203.    Combo1.AddItem "Disk Array routines : (use) Type'd (b.e. : tagTASKENTRY)"
  1204.    Combo1.AddItem "Disk Array routines : (clear) String"
  1205.    Combo1.AddItem "Disk Array routines : (clear) Long"
  1206.    Combo1.AddItem "Disk Array routines : (clear) Type'd (b.e. : tagTASKENTRY)"
  1207.    Combo1.AddItem "Disk Array routines : (clear sheet 2) String"
  1208.    Combo1.AddItem "Disk Array routines : (clear sheet 2) Long"
  1209.    Combo1.AddItem "Disk Array routines : (clear sheet 2) Type'd (b.e. : tagTASKENTRY)"
  1210.    Combo1.AddItem "Disk Array routines : (clear last row in sheet 1) String"
  1211.    Combo1.AddItem "Disk Array routines : (clear last row in sheet 1) Long"
  1212.    Combo1.AddItem "Disk Array routines : (clear last row in sheet 1) Type'd (b.e. : tagTASKENTRY)"
  1213.    Combo1.AddItem "Disk Array routines : (clear last col in sheet 1) String"
  1214.    Combo1.AddItem "Disk Array routines : (clear last col in sheet 1) Long"
  1215.    Combo1.AddItem "Disk Array routines : (clear last col in sheet 1) Type'd (b.e. : tagTASKENTRY)"
  1216.    Combo1.AddItem "Disk Array routines : (clear last row in all sheets) String"
  1217.    Combo1.AddItem "Disk Array routines : (clear last row in all sheets) Long"
  1218.    Combo1.AddItem "Disk Array routines : (clear last row in all sheets) Type'd (b.e. : tagTASKENTRY)"
  1219.    Combo1.AddItem "Disk Array routines : (clear last col in all sheets) String"
  1220.    Combo1.AddItem "Disk Array routines : (clear last col in all sheets) Long"
  1221.    Combo1.AddItem "Disk Array routines : (clear last col in all sheets) Type'd (b.e. : tagTASKENTRY)"
  1222.    Combo1.AddItem "VB Management routines : CloseAllEditForm"
  1223.    Combo1.AddItem "VB Management routines : HideAllEditForm, UnHideAllEditForm"
  1224.    Combo1.AddItem "VB Management routines : HideDebugForm, UnHideDebugForm"
  1225.    Combo1.AddItem "String routines : OrToken, OrTokenIn"
  1226.    Combo1.AddItem "String routines : AndToken, AndTokenIn"
  1227.    Combo1.AddItem "Windows Specific Routines : WalkThruWindow"
  1228.    Combo1.AddItem "Serialization : IsSerial, SerialGet, SerialPut, SerialInc"
  1229.    Combo1.AddItem "Timer functions : Extended Timer"
  1230.    Combo1.AddItem "String routines : Align"
  1231.    Combo1.AddItem "String routines : Token"
  1232.    Combo1.AddItem "Array routines : ArrayOnDisk"
  1233.    Combo1.AddItem "Array routines : ArrayStringOnDisk"
  1234.    Combo1.AddItem "String routines : cCnvASCIItoEBCDIC, cCnvEBCDICtoASCII"
  1235.    Combo1.AddItem "Misc. routines : Combination C(n,m)"
  1236.    Combo1.AddItem "File routines : FileSort (ASC and CS) (record ended with cr/lf)"
  1237.    Combo1.AddItem "File routines : FileSort (DSC and CS) (record ended with cr/lf)"
  1238.    Combo1.AddItem "File routines : FileSort (ASC and NS) (record ended with cr/lf)"
  1239.    Combo1.AddItem "File routines : FileSort (DSC and NS) (record ended with cr/lf)"
  1240.    Combo1.AddItem "File routines : FileSort (ASC and CS) (record size 3)"
  1241.    Combo1.AddItem "File routines : FileSort (DSC and CS) (record size 3)"
  1242.    Combo1.AddItem "File routines : FileSort (ASC and NS) (record size 3)"
  1243.    Combo1.AddItem "File routines : FileSort (DSC and NS) (record size 3)"
  1244.    Combo1.AddItem "Misc. routines : RegistrationKey"
  1245.    Combo1.AddItem "Misc. routines : HashMD5"
  1246.    Combo1.AddItem "String routines : ProperName"
  1247.    Combo1.AddItem "Matrix routines : MatrixAdd"
  1248.    Combo1.AddItem "Matrix routines : MatrixSub"
  1249.    Combo1.AddItem "Matrix routines : MatrixCopy"
  1250.    Combo1.AddItem "Matrix routines : MatrixMul"
  1251.    Combo1.AddItem "Matrix routines : MatrixTranspose"
  1252.    Combo1.AddItem "Matrix routines : MatrixCompare"
  1253.    Combo1.AddItem "2-D geometry"
  1254.    Combo1.AddItem "3-D geometry"
  1255.    Combo1.AddItem "String routines : ProperName2"
  1256.    Combo1.AddItem "DOS routines : DOSMediaID"
  1257.    Combo1.AddItem "File routines : File Compress/Expand"
  1258.    Combo1.AddItem "String routines : String Compress/Expand"
  1259.    Combo1.AddItem "Array routines : FillIncrI"
  1260.    Combo1.AddItem "Matrix routines : MatrixDet"
  1261.    Combo1.AddItem "Matrix routines : MatrixInv"
  1262.    Combo1.AddItem "Matrix routines : MatrixMinor,MatrixCoFactor"
  1263.    Combo1.AddItem "Matrix routines : MatrixSymToeplitz"
  1264.    Combo1.AddItem "DOS routines : FloppyInfo"
  1265.    Combo1.AddItem "DOS routines : DOSGetVolumeLabel"
  1266.    Combo1.AddItem "Time routines : AddTwoTimes"
  1267.    Combo1.AddItem "Multiple Disk Array routines : (create)"
  1268.    Combo1.AddItem "Multiple Disk Array routines : (use)"
  1269.    Combo1.AddItem "Multiple Disk Array routines : (clear)"
  1270.    Combo1.AddItem "Multiple Disk Array routines : (clear sheet 2)"
  1271.    Combo1.AddItem "Multiple Disk Array routines : (clear last row in sheet 1)"
  1272.    Combo1.AddItem "Multiple Disk Array routines : (clear last col in sheet 1)"
  1273.    Combo1.AddItem "Multiple Disk Array routines : (clear last row in all sheets)"
  1274.    Combo1.AddItem "Multiple Disk Array routines : (clear last col in all sheets)"
  1275.    Combo1.AddItem "Date routines : DayOfWeek, DayOfYear, WeekOfYear, ..."
  1276.    Combo1.AddItem "Misc. routines : GetVersion"
  1277.    Combo1.AddItem "String routines : GetInR, GetInPart, GetInPartR"
  1278.    Combo1.AddItem "Huge String"
  1279.    Combo1.AddItem "Huge Memory Array : (create) String"
  1280.    Combo1.AddItem "Huge Memory Array : (create) Long"
  1281.    Combo1.AddItem "Huge Memory Array : (create) Type'd (b.e. : tagTASKENTRY)"
  1282.    Combo1.AddItem "Huge Memory Array : (clear) String"
  1283.    Combo1.AddItem "Huge Memory Array : (clear) Long"
  1284.    Combo1.AddItem "Huge Memory Array : (clear) Type'd (b.e. : tagTASKENTRY)"
  1285.    Combo1.AddItem "Huge Memory Array : (clear sheet 2) String"
  1286.    Combo1.AddItem "Huge Memory Array : (clear sheet 2) Long"
  1287.    Combo1.AddItem "Huge Memory Array : (clear sheet 2) Type'd (b.e. : tagTASKENTRY)"
  1288.    Combo1.AddItem "Huge Memory Array : (clear last row in sheet 1) String"
  1289.    Combo1.AddItem "Huge Memory Array : (clear last row in sheet 1) Long"
  1290.    Combo1.AddItem "Huge Memory Array : (clear last row in sheet 1) Type'd (b.e. : tagTASKENTRY)"
  1291.    Combo1.AddItem "Huge Memory Array : (clear last col in sheet 1) String"
  1292.    Combo1.AddItem "Huge Memory Array : (clear last col in sheet 1) Long"
  1293.    Combo1.AddItem "Huge Memory Array : (clear last col in sheet 1) Type'd (b.e. : tagTASKENTRY)"
  1294.    Combo1.AddItem "Huge Memory Array : (clear last row in all sheets) String"
  1295.    Combo1.AddItem "Huge Memory Array : (clear last row in all sheets) Long"
  1296.    Combo1.AddItem "Huge Memory Array : (clear last row in all sheets) Type'd (b.e. : tagTASKENTRY)"
  1297.    Combo1.AddItem "Huge Memory Array : (clear last col in all sheets) String"
  1298.    Combo1.AddItem "Huge Memory Array : (clear last col in all sheets) Long"
  1299.    Combo1.AddItem "Huge Memory Array : (clear last col in all sheets) Type'd (b.e. : tagTASKENTRY)"
  1300.    Combo1.AddItem "Array routines : ArrayToListBox"
  1301.    Combo1.AddItem "Time routines : TimeToScalar, ScalarToTime"
  1302.    Combo1.AddItem "3D routines : Ctl3D, 3D, GetCtlRect, GetCtlRectTwips"
  1303.    Combo1.AddItem "File routines : FileChangeChars"
  1304.    Combo1.AddItem "File routines : FilesInfoInDir"
  1305.    Combo1.AddItem "File routines : RcsCountFileDir"
  1306.    Combo1.AddItem "File routines : FilesInDirOnDisk"
  1307.    Combo1.AddItem "File routines : FilesInDirToArray"
  1308.    Combo1.AddItem "Files routines : rcsFilesSize, rcsFilesSizeOnDisk, rcsFilesSlack"
  1309.    Combo1.AddItem "Language routines : Read Menu Language"
  1310.    Combo1.AddItem "String routines : SpellMoney"
  1311.    Combo1.AddItem "Misc. routines : Fraction"
  1312.    Combo1.AddItem "Misc. routines : Rndx"
  1313.    Combo1.AddItem "String routines : StringSAR"
  1314.    Combo1.AddItem "File routines : TruncatePath"
  1315.    Combo1.AddItem "System menu change (one call) : Catalan"
  1316.    Combo1.AddItem "System menu change (one call) : Polish"
  1317.    Combo1.AddItem "Array routines : Count"
  1318.    Combo1.AddItem "Array routines : Search"
  1319.    Combo1.AddItem "String routines : H2I, H2L"
  1320.    Combo1.AddItem "String routines : B2I, B2L"
  1321.    Combo1.AddItem "File routines : GZIPFileCompress/GZIPFileExpand"
  1322.    Combo1.AddItem "String routines : GZIPStringCompress/GZIPStringExpand"
  1323.    Combo1.AddItem "String routines : RUBYencrypt - RUBYdecrypt(minimum)"
  1324.    Combo1.AddItem "File routines : RUBYencryptFile - RUBYdecryptFile(minimum)"
  1325.    Combo1.AddItem "String routines : RUBYencrypt - RUBYdecrypt (portable safe)"
  1326.    Combo1.AddItem "File routines : RUBYencryptFile - RUBYdecryptFile (portable safe)"
  1327.    Combo1.AddItem "String routines : RUBYencrypt - RUBYdecrypt (FORT KNOX)"
  1328.    Combo1.AddItem "File routines : RUBYencryptFile - RUBYdecryptFile (FORT KNOX)"
  1329.    Combo1.AddItem "System menu change (one call) : Norvegian"
  1330.    Combo1.AddItem "String routines : GetBitX (5 functions)"
  1331.    Combo1.AddItem "String routines : SetBitX (5 functions)"
  1332.    Combo1.AddItem "String routines : B2I/B2L/I2B/L2B"
  1333.    Combo1.AddItem "String routines : FromHexa/ToHexa"
  1334.    Combo1.AddItem "String routines : FromZ9/ToZ9"
  1335.    Combo1.AddItem "File routines : CutFile"
  1336.    Combo1.AddItem "File routines : SplitFile"
  1337.    Combo1.AddItem "Array routines : MaxNotXI"
  1338.    Combo1.AddItem "Array routines : MinNotXI"
  1339.    Combo1.AddItem "File routines : FileMergeExt"
  1340.    Combo1.ListIndex = Combo1.ListCount - 1
  1341.    Combo2.ListIndex = 2
  1342.    Item = Val(Combo2.Text)
  1343.    ItemFile = Val(Combo2.Text)
  1344.    ItemMean = Val(Combo2.Text)
  1345.    Text1.Text = "A/BC/DEF/GHIJ"
  1346.    Me.Caption = Me.Caption & " (v" & cGetVersion() & ")"
  1347. End Sub
  1348. Private Sub Form_Paint()
  1349.    'Dim i As Integer
  1350.    'Dim N As Integer
  1351.    'N = frmT2W.Controls.Count - 1
  1352.    'For i = 0 To N
  1353.    '   If ((frmT2W.Controls(i).Visible = True) And (frmT2W.Controls(i).Enabled = True)) Then
  1354.    '      Call c3D(frmT2W.Controls(i), 0, 0)
  1355.    '   End If
  1356.    'Next i
  1357. End Sub
  1358. Private Sub Form_Unload(Cancel As Integer)
  1359.    Call cShowWindow(frmT2W.hWnd, 1, 125)
  1360. End Sub
  1361. Private Sub Label2_DblClick()
  1362.    Dim i       As Integer
  1363.    Dim n       As Integer
  1364.    n = Combo1.ListCount - 1
  1365.    For i = 0 To n
  1366.       Combo1.ListIndex = i
  1367.       DoEvents
  1368.       Call Command1_Click
  1369.       DoEvents
  1370.    Next i
  1371. End Sub
  1372. Private Sub Test2D()
  1373.    Dim Tmp1       As String
  1374.    Dim i          As Integer
  1375.    Dim j          As Integer
  1376.    Dim k          As Double
  1377.    Dim u          As tagVECTOR2
  1378.    Dim v          As tagVECTOR2
  1379.    Dim w          As tagVECTOR2
  1380.    u.x = 1
  1381.    u.y = 1
  1382.    v.x = 3
  1383.    v.y = 3
  1384.    Tmp1 = Tmp1 & "First vector (u) is (" & u.x & "," & u.y & ")" & vbCr & vbCr
  1385.    Tmp1 = Tmp1 & "Second vector (v) is (" & v.x & "," & v.y & ")" & vbCr & vbCr
  1386.    Call cV2Add(u, v, w)
  1387.    Tmp1 = Tmp1 & "Sum of (u)+(v) = (w) is (" & w.x & "," & w.y & ")" & vbCr & vbCr
  1388.    Call cV2Sub(u, v, w)
  1389.    Tmp1 = Tmp1 & "Sub of (u)-(v) = (w) is (" & w.x & "," & w.y & ")" & vbCr & vbCr
  1390.    Call cV2Mul(u, v, w)
  1391.    Tmp1 = Tmp1 & "Mul of (u).(v) = (w) is (" & w.x & "," & w.y & ")" & vbCr & vbCr
  1392.    k = cV2Dot(u, v)
  1393.    Tmp1 = Tmp1 & "Dot of (u),(v) is " & k & vbCr & vbCr
  1394.    k = cV2Length(v)
  1395.    Tmp1 = Tmp1 & "Length (v) is " & k & vbCr & vbCr
  1396.    k = cV2SegmentLength(u, v)
  1397.    Tmp1 = Tmp1 & "Segmented Length from (u) to (v) is " & k & vbCr & vbCr
  1398.    Call cV2Normalized(u)
  1399.    Tmp1 = Tmp1 & "Normalization of (u) is (" & u.x & "," & u.y & ")" & vbCr & vbCr
  1400.               
  1401.    cStartBasisTimer
  1402.    For i = 1 To ItemFile
  1403.       Call cV2Add(u, v, w)
  1404.    Next i
  1405.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1406.    Label3.Caption = Tmp1
  1407. End Sub
  1408. Private Sub Test3D()
  1409.    Dim Tmp1       As String
  1410.    Dim i          As Integer
  1411.    Dim j          As Integer
  1412.    Dim k          As Double
  1413.    Dim u          As tagVECTOR3
  1414.    Dim v          As tagVECTOR3
  1415.    Dim w          As tagVECTOR3
  1416.    u.x = 1
  1417.    u.y = 1
  1418.    u.z = 1
  1419.    v.x = 3
  1420.    v.y = 3
  1421.    v.z = 3
  1422.    Tmp1 = Tmp1 & "First vector (u) is (" & u.x & "," & u.y & "," & u.z & ")" & vbCr & vbCr
  1423.    Tmp1 = Tmp1 & "Second vector (v) is (" & v.x & "," & v.y & "," & v.z & ")" & vbCr & vbCr
  1424.    Call cV3Add(u, v, w)
  1425.    Tmp1 = Tmp1 & "Sum of (u)+(v) = (w) is (" & w.x & "," & w.y & "," & w.z & ")" & vbCr & vbCr
  1426.    Call cV3Sub(u, v, w)
  1427.    Tmp1 = Tmp1 & "Sub of (u)-(v) = (w) is (" & w.x & "," & w.y & "," & w.z & ")" & vbCr & vbCr
  1428.    Call cV3Mul(u, v, w)
  1429.    Tmp1 = Tmp1 & "Mul of (u).(v) = (w) is (" & w.x & "," & w.y & ")" & vbCr & vbCr
  1430.    k = cV3Dot(u, v)
  1431.    Tmp1 = Tmp1 & "Dot of (u),(v) is " & k & vbCr & vbCr
  1432.    k = cV3Length(v)
  1433.    Tmp1 = Tmp1 & "Length (v) is " & k & vbCr & vbCr
  1434.    k = cV3SegmentLength(u, v)
  1435.    Tmp1 = Tmp1 & "Segmented Length from (u) to (v) is " & k & vbCr & vbCr
  1436.    Call cV3Normalized(u)
  1437.    Tmp1 = Tmp1 & "Normalization of (u) is (" & u.x & "," & u.y & "," & u.z & ")" & vbCr & vbCr
  1438.               
  1439.    cStartBasisTimer
  1440.    For i = 1 To ItemFile
  1441.       Call cV3Add(u, v, w)
  1442.    Next i
  1443.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1444.    Label3.Caption = Tmp1
  1445. End Sub
  1446. Private Sub TestAddI()
  1447.    Dim Title      As String
  1448.    Dim Tmp        As String
  1449.    Dim Tmp1       As String
  1450.    Dim Tmp2       As String
  1451.    Dim i          As Integer
  1452.    Dim j          As Integer
  1453.    Dim m          As Double
  1454.    ReDim array(ItemMean) As Integer
  1455.    Randomize Timer
  1456.    For i = LBound(array) To UBound(array)
  1457.       array(i) = 0
  1458.       List1.AddItem "" & array(i)
  1459.    Next i
  1460.    j = cAddI(array(), 10)
  1461.    For i = LBound(array) To UBound(array)
  1462.       List2.AddItem "" & array(i)
  1463.    Next i
  1464.    Tmp1 = Tmp1 & "Add 10 to element 1 of an integer array is : " & array(1) & vbCr & vbCr
  1465.    Tmp1 = Tmp1 & "Add 10 to element " & ItemMean & " of an integer array is : " & array(ItemMean) & vbCr & vbCr
  1466.    cStartBasisTimer
  1467.    For i = 1 To ItemFile
  1468.       j = cAddI(array(), 1)
  1469.    Next i
  1470.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1471.    Label3.Caption = Tmp1
  1472. End Sub
  1473. Private Sub TestAddTime()
  1474.    Dim Title      As String
  1475.    Dim Tmp        As String
  1476.    Dim Tmp1       As String
  1477.    Dim Tmp2       As String
  1478.    Dim i          As Integer
  1479.    Dim j          As Integer
  1480.    Tmp1 = "The time 10:00 + 02:01 is " & cIntoHour(cAddTime(600 + 121)) & vbCr & vbCr
  1481.    Tmp1 = Tmp1 & "The time 23:58 + 01:02 is " & cIntoHour(cAddTime(1438 + 62)) & vbCr & vbCr
  1482.    cStartBasisTimer
  1483.    For i = 1 To Item
  1484.       j = cAddTime(1439 + 2)
  1485.    Next i
  1486.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1487.    Label3.Caption = Tmp1
  1488. End Sub
  1489. Private Sub TestGetBitValue()
  1490.    Dim intResult        As Integer
  1491.    Dim strResult        As String
  1492.    Dim strDisplay       As String
  1493.    Dim bData            As Byte
  1494.    Dim iData            As Integer
  1495.    Dim lData            As Long
  1496.    Dim sData            As Single
  1497.    Dim dData            As Double
  1498.    Dim i                As Integer
  1499.    intResult = 0
  1500.    strResult = ""
  1501.    strDisplay = ""
  1502.    Call cRndInit(-1)
  1503.    bData = (Abs(cRndI()) Mod 256)
  1504.    iData = Abs(cRndI())
  1505.    lData = Abs(cRndL())
  1506.    sData = Abs(cRndS())
  1507.    dData = Abs(cRndD())
  1508.      
  1509.    strDisplay = strDisplay + "Byte value : " & bData & " (" & cToBinary(cMKB(bData)) & ")" & vbCr
  1510.    strDisplay = strDisplay + "   bit 0 is " & IIf(cGetBitB(bData, 0), "set", "reset") & vbCr
  1511.    strDisplay = strDisplay + "   bit 1 is " & IIf(cGetBitB(bData, 1), "set", "reset") & vbCr
  1512.    strDisplay = strDisplay + "   bit 3 is " & IIf(cGetBitB(bData, 3), "set", "reset") & vbCr
  1513.    strDisplay = strDisplay + "   bit 5 is " & IIf(cGetBitB(bData, 5), "set", "reset") & vbCr
  1514.    strDisplay = strDisplay + "   bit 7 is " & IIf(cGetBitB(bData, 7), "set", "reset") & vbCr & vbCr
  1515.    strDisplay = strDisplay + "Integer value : " & iData & " (" & cToBinary(cMKI(iData)) & ")" & vbCr
  1516.    strDisplay = strDisplay + "   bit 0 is " & IIf(cGetBitI(iData, 0), "set", "reset") & vbCr
  1517.    strDisplay = strDisplay + "   bit 3 is " & IIf(cGetBitI(iData, 3), "set", "reset") & vbCr
  1518.    strDisplay = strDisplay + "   bit 7 is " & IIf(cGetBitI(iData, 7), "set", "reset") & vbCr
  1519.    strDisplay = strDisplay + "   bit 11 is " & IIf(cGetBitI(iData, 11), "set", "reset") & vbCr
  1520.    strDisplay = strDisplay + "   bit 15 is " & IIf(cGetBitI(iData, 15), "set", "reset") & vbCr & vbCr
  1521.    strDisplay = strDisplay + "Long value : " & lData & " (" & cToBinary(cMKL(lData)) & ")" & vbCr
  1522.    strDisplay = strDisplay + "   bit 0 is " & IIf(cGetBitL(lData, 0), "set", "reset") & vbCr
  1523.    strDisplay = strDisplay + "   bit 5 is " & IIf(cGetBitL(lData, 5), "set", "reset") & vbCr
  1524.    strDisplay = strDisplay + "   bit 10 is " & IIf(cGetBitL(lData, 10), "set", "reset") & vbCr
  1525.    strDisplay = strDisplay + "   bit 15 is " & IIf(cGetBitL(lData, 15), "set", "reset") & vbCr
  1526.    strDisplay = strDisplay + "   bit 20 is " & IIf(cGetBitL(lData, 20), "set", "reset") & vbCr & vbCr
  1527.    strDisplay = strDisplay + "Single value : " & sData & " (" & cToBinary(cMKS(sData)) & ")" & vbCr
  1528.    strDisplay = strDisplay + "   bit 0 is " & IIf(cGetBitS(sData, 0), "set", "reset") & vbCr
  1529.    strDisplay = strDisplay + "   bit 5 is " & IIf(cGetBitS(sData, 5), "set", "reset") & vbCr
  1530.    strDisplay = strDisplay + "   bit 10 is " & IIf(cGetBitS(sData, 10), "set", "reset") & vbCr
  1531.    strDisplay = strDisplay + "   bit 15 is " & IIf(cGetBitS(sData, 15), "set", "reset") & vbCr
  1532.    strDisplay = strDisplay + "   bit 20 is " & IIf(cGetBitS(sData, 20), "set", "reset") & vbCr & vbCr
  1533.    strDisplay = strDisplay + "Double value : " & dData & " (" & cToBinary(cMKD(dData)) & ")" & vbCr
  1534.    strDisplay = strDisplay + "   bit 0 is " & IIf(cGetBitD(dData, 0), "set", "reset") & vbCr
  1535.    strDisplay = strDisplay + "   bit 10 is " & IIf(cGetBitD(dData, 10), "set", "reset") & vbCr
  1536.    strDisplay = strDisplay + "   bit 20 is " & IIf(cGetBitD(dData, 20), "set", "reset") & vbCr
  1537.    strDisplay = strDisplay + "   bit 30 is " & IIf(cGetBitD(dData, 30), "set", "reset") & vbCr
  1538.    strDisplay = strDisplay + "   bit 40 is " & IIf(cGetBitD(dData, 40), "set", "reset") & vbCr & vbCr
  1539.    'time the function
  1540.    cStartBasisTimer
  1541.    For i = 1 To ItemFile
  1542.       intResult = cGetBitI(iData, i)
  1543.    Next i
  1544.    strDisplay = strDisplay & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1545.    Label3.Caption = strDisplay
  1546. End Sub
  1547. Private Sub TestSetBitValue()
  1548.    Dim intResult        As Integer
  1549.    Dim strResult        As String
  1550.    Dim strDisplay       As String
  1551.    Dim bData            As Byte
  1552.    Dim iData            As Integer
  1553.    Dim lData            As Long
  1554.    Dim sData            As Single
  1555.    Dim dData            As Double
  1556.    Dim i                As Integer
  1557.    intResult = 0
  1558.    strResult = ""
  1559.    strDisplay = ""
  1560.    bData = (Abs(cRndI()) Mod 256)
  1561.    iData = Abs(cRndI())
  1562.    lData = Abs(cRndL())
  1563.    sData = Abs(cRndS())
  1564.    dData = Abs(cRndD())
  1565.      
  1566.    strDisplay = strDisplay + "Byte value : " & bData & " (" & cToBinary(cMKB(bData)) & ")" & vbCr
  1567.    Call cSetBitB(bData, 0, True)
  1568.    strDisplay = strDisplay + "   set bit 0 is " & bData & " (" & cToBinary(cMKB(bData)) & ")" & vbCr
  1569.    Call cSetBitB(bData, 3, False)
  1570.    strDisplay = strDisplay + "   reset bit 3 is " & bData & " (" & cToBinary(cMKB(bData)) & ")" & vbCr
  1571.    Call cSetBitB(bData, 5, True)
  1572.    strDisplay = strDisplay + "   set bit 5 is " & bData & " (" & cToBinary(cMKB(bData)) & ")" & vbCr & vbCr
  1573.    strDisplay = strDisplay + "Integer value : " & iData & " (" & cToBinary(cMKI(iData)) & ")" & vbCr
  1574.    Call cSetBitI(iData, 3, True)
  1575.    strDisplay = strDisplay + "   set bit 3 is " & iData & " (" & cToBinary(cMKI(iData)) & ")" & vbCr
  1576.    Call cSetBitI(iData, 6, False)
  1577.    strDisplay = strDisplay + "   reset bit 6 is " & iData & " (" & cToBinary(cMKI(iData)) & ")" & vbCr
  1578.    Call cSetBitI(iData, 9, True)
  1579.    strDisplay = strDisplay + "   set bit 9 is " & iData & " (" & cToBinary(cMKI(iData)) & ")" & vbCr & vbCr
  1580.    strDisplay = strDisplay + "Long value : " & lData & " (" & cToBinary(cMKL(lData)) & ")" & vbCr
  1581.    Call cSetBitL(lData, 6, True)
  1582.    strDisplay = strDisplay + "   set bit 6 is " & lData & " (" & cToBinary(cMKL(lData)) & ")" & vbCr
  1583.    Call cSetBitL(lData, 12, False)
  1584.    strDisplay = strDisplay + "   reset bit 12 is " & lData & " (" & cToBinary(cMKL(lData)) & ")" & vbCr
  1585.    Call cSetBitL(lData, 24, True)
  1586.    strDisplay = strDisplay + "   set bit 24 is " & lData & " (" & cToBinary(cMKL(lData)) & ")" & vbCr & vbCr
  1587.    strDisplay = strDisplay + "Single value : " & sData & " (" & cToBinary(cMKS(sData)) & ")" & vbCr
  1588.    Call cSetBitS(sData, 0, True)
  1589.    strDisplay = strDisplay + "   set bit 0 is " & sData & " (" & cToBinary(cMKS(sData)) & ")" & vbCr
  1590.    Call cSetBitS(sData, 3, True)
  1591.    strDisplay = strDisplay + "   set bit 3 is " & sData & " (" & cToBinary(cMKS(sData)) & ")" & vbCr
  1592.    Call cSetBitS(sData, 6, True)
  1593.    strDisplay = strDisplay + "   set bit 6 is " & sData & " (" & cToBinary(cMKS(sData)) & ")" & vbCr
  1594.    Call cSetBitS(sData, 12, True)
  1595.    strDisplay = strDisplay + "   set bit 12 is " & sData & " (" & cToBinary(cMKS(sData)) & ")" & vbCr
  1596.    Call cSetBitS(sData, 24, True)
  1597.    strDisplay = strDisplay + "   set bit 24 is " & sData & " (" & cToBinary(cMKS(sData)) & ")" & vbCr & vbCr
  1598.    strDisplay = strDisplay + "Double value : " & dData & " (" & cToBinary(cMKD(dData)) & ")" & vbCr
  1599.    Call cSetBitD(dData, 0, False)
  1600.    strDisplay = strDisplay + "   reset bit 0 is " & dData & " (" & cToBinary(cMKD(dData)) & ")" & vbCr
  1601.    Call cSetBitD(dData, 3, False)
  1602.    strDisplay = strDisplay + "   reset bit 3 is " & dData & " (" & cToBinary(cMKD(dData)) & ")" & vbCr
  1603.    Call cSetBitD(dData, 12, False)
  1604.    strDisplay = strDisplay + "   reset bit 12 is " & dData & " (" & cToBinary(cMKD(dData)) & ")" & vbCr
  1605.    Call cSetBitD(dData, 24, False)
  1606.    strDisplay = strDisplay + "   reset bit 24 is " & dData & " (" & cToBinary(cMKD(dData)) & ")" & vbCr
  1607.    Call cSetBitD(dData, 48, False)
  1608.    strDisplay = strDisplay + "   reset bit 48 is " & dData & " (" & cToBinary(cMKD(dData)) & ")" & vbCr & vbCr
  1609.    'time the function
  1610.    cStartBasisTimer
  1611.    For i = 1 To ItemFile
  1612.       Call cSetBitI(iData, 0, True)
  1613.    Next i
  1614.    strDisplay = strDisplay & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1615.    Label3.Caption = strDisplay
  1616. End Sub
  1617. Private Sub TestAddTwoTimes()
  1618.    Dim Title      As String
  1619.    Dim Tmp        As String
  1620.    Dim Tmp1       As String
  1621.    Dim Tmp2       As String
  1622.    Dim i          As Integer
  1623.    Dim j          As Integer
  1624.    Tmp1 = "The time '10:00:58' + '02:01:02' is '" & cAddTwoTimes("10:00:58", "02:01:02") & "'" & vbCr & vbCr
  1625.    Tmp1 = Tmp1 & "The time '23:58:58' + '01:02:01' is '" & cAddTwoTimes("23:58:58", "01:02:01") & "'" & vbCr & vbCr
  1626.    cStartBasisTimer
  1627.    For i = 1 To Item
  1628.       Tmp2 = cAddTwoTimes("23:58:58", "01:02:01")
  1629.    Next i
  1630.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1631.    Label3.Caption = Tmp1
  1632. End Sub
  1633. Private Sub TestAlign()
  1634.    Dim Title      As String
  1635.    Dim Tmp        As String
  1636.    Dim Tmp1       As String
  1637.    Dim Tmp2       As String
  1638.    Dim i          As Integer
  1639.    Dim j          As Integer
  1640.    Tmp = "T2WIN-16"
  1641.    Title = "Left Align of [" & Tmp & "] is " & vbCr & "'"
  1642.    Tmp1 = Title & cAlign(Tmp, -1, 30) & "'" & vbCr & vbCr
  1643.    Title = "Center Align of [" & Tmp & "] is " & vbCr & "'"
  1644.    Tmp1 = Tmp1 & Title & cAlign(Tmp, 0, 30) & "'" & vbCr & vbCr
  1645.    Title = "Right Align of [" & Tmp & "] is " & vbCr & "'"
  1646.    Tmp1 = Tmp1 & Title & cAlign(Tmp, 1, 30) & "'" & vbCr & vbCr
  1647.    j = cTimerOpen()
  1648.    i = cTimerStart(j)
  1649.    For i = 1 To Item
  1650.       Tmp2 = cAlign(Tmp, 0, 30)
  1651.    Next i
  1652.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cTimerRead(j) & " ms"
  1653.    i = cTimerClose(j)
  1654.    Label3.Caption = Tmp1
  1655. End Sub
  1656. Private Sub TestAllSubDir()
  1657.    Dim n       As Integer
  1658.    Dim Tmp     As String
  1659.    n = -1
  1660.    Tmp = cAllSubDirectories("C:", n)
  1661.    Label3.Caption = "Directories founden on drive C are " & n & vbCr & Tmp
  1662. End Sub
  1663. Private Sub TestAndToken()
  1664.    Dim Title      As String
  1665.    Dim Tmp        As String
  1666.    Dim Tmp1       As String
  1667.    Dim Tmp2       As String
  1668.    Dim i          As Integer
  1669.    Dim j          As Integer
  1670.    Tmp = "FOX|OVER|THE"
  1671.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1672.    Tmp1 = "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndToken(Tmp2, Tmp), "ok", "ko") & vbCr & vbCr
  1673.    Tmp = "quick|jumps|the"
  1674.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1675.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndToken(Tmp2, Tmp), "ok", "ko") & vbCr & vbCr
  1676.    Tmp = "FOX\OVER\THE"
  1677.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1678.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & vbCr & vbCr
  1679.    Tmp = "quick\jumps\the"
  1680.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1681.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & vbCr & vbCr
  1682.    Tmp = "FOX/OVER/THE"
  1683.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1684.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & vbCr & vbCr
  1685.    Tmp = "quick\JUMPS\the"
  1686.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1687.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & vbCr & vbCr
  1688.    Tmp = LCase$("quick\jumps\THE")
  1689.    Tmp2 = LCase$("THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG")
  1690.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & vbCr & vbCr
  1691.    cStartBasisTimer
  1692.    For i = 1 To Item
  1693.       j = cAndToken(Tmp2, Tmp)
  1694.    Next i
  1695.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1696.    Label3.Caption = Tmp1
  1697. End Sub
  1698. Private Sub TestArrayLB()
  1699.    Dim Title      As String
  1700.    Dim Tmp        As String
  1701.    Dim Tmp1       As String
  1702.    Dim Tmp2       As String
  1703.    Dim i          As Long
  1704.    Dim j          As Long
  1705.    Dim n1         As Long
  1706.    Dim n2         As Long
  1707.    Dim m1         As Integer
  1708.    Dim m2         As Integer
  1709.    m1 = -99
  1710.    m2 = 99
  1711.    ReDim AD(m1 To m2) As String
  1712.    Randomize Timer
  1713.    ' initialization because we use ReDim without Global definition
  1714.    For i = m1 To m2
  1715.       If ((Abs(i) Mod 2) = 0) Then
  1716.          AD(i) = i & " " & Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd))
  1717.       Else
  1718.          AD(i) = i & " " & Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd))
  1719.       End If
  1720.    Next i
  1721.    Tmp1 = "Memory array (" & m1 & " To " & m2 & ") has been created and initialized." & vbCr
  1722.    j = cArrayToListBox(List1.hWnd, AD())
  1723.    j = cArrayToListBox(List2.hWnd, AD())
  1724.    List1.Clear
  1725.    cStartBasisTimer
  1726.    For i = 1 To Item
  1727.       j = cArrayToListBox(List1.hWnd, AD())
  1728.    Next i
  1729.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1730.    Label3.Caption = Tmp1
  1731. End Sub
  1732. Private Sub TestArrayOnDisk()
  1733.    Dim Title      As String
  1734.    Dim Tmp        As String
  1735.    Dim Tmp1       As String
  1736.    Dim Tmp2       As String
  1737.    Dim i          As Long
  1738.    Dim j          As Long
  1739.    Dim n1         As Long
  1740.    Dim n2         As Long
  1741.    Dim m1         As Integer
  1742.    Dim m2         As Integer
  1743.    m1 = -9999
  1744.    m2 = 9999
  1745.    ReDim AD(m1 To m2, 0 To 1) As Long
  1746.    Randomize Timer
  1747.    n1 = Int(1234567890 * Rnd)
  1748.    n2 = -Int(987654321 * Rnd)
  1749.    ' initialization because we use ReDim without Global definition
  1750.    For i = m1 To m2
  1751.       AD(i, 0) = n1
  1752.       AD(i, 1) = n2
  1753.    Next i
  1754.    Tmp = "test.dat"
  1755.    Tmp1 = "Memory array (" & m1 & " To " & m2 & ", 0 To 1) has been created and initialized." & vbCr
  1756.    Tmp1 = Tmp1 + "File '" & Tmp & "' will be used." & vbCr
  1757.    Tmp1 = Tmp1 + "Each (i,0) is init with '" & n1 & "'." & vbCr
  1758.    Tmp1 = Tmp1 + "Each (i,1) is init with '" & n2 & "'." & vbCr & vbCr
  1759.    Tmp1 = Tmp1 + "AD(" & m1 & ", 0) is " & AD(m1, 0) & vbCr
  1760.    Tmp1 = Tmp1 + "AD(" & m2 & ", 0) is " & AD(m2, 0) & vbCr
  1761.    Tmp1 = Tmp1 + "AD(" & m1 & ", 1) is " & AD(m1, 1) & vbCr
  1762.    Tmp1 = Tmp1 + "AD(" & m2 & ", 1) is " & AD(m2, 1) & vbCr & vbCr
  1763.    Tmp1 = Tmp1 + "Put array on disk is '" & cArrayOnDisk(Tmp, AD(), PUT_ARRAY_ON_DISK) & "' bytes." & vbCr & vbCr
  1764.    Tmp1 = Tmp1 + "Memory array (" & m1 & " To " & m2 & ", 0 To 1) has been zero'ed." & vbCr & vbCr
  1765.    For i = m1 To m2
  1766.       AD(i, 0) = 0
  1767.       AD(i, 1) = 0
  1768.    Next i
  1769.    Tmp1 = Tmp1 + "AD(" & m1 & ", 0) is " & AD(m1, 0) & vbCr
  1770.    Tmp1 = Tmp1 + "AD(" & m2 & ", 0) is " & AD(m2, 0) & vbCr
  1771.    Tmp1 = Tmp1 + "AD(" & m1 & ", 1) is " & AD(m1, 1) & vbCr
  1772.    Tmp1 = Tmp1 + "AD(" & m2 & ", 1) is " & AD(m2, 1) & vbCr & vbCr
  1773.    Tmp1 = Tmp1 + "Get array on disk is '" & cArrayOnDisk(Tmp, AD(), GET_ARRAY_ON_DISK) & "' bytes." & vbCr & vbCr
  1774.    Tmp1 = Tmp1 + "AD(" & m1 & ", 0) is " & AD(m1, 0) & vbCr
  1775.    Tmp1 = Tmp1 + "AD(" & m2 & ", 0) is " & AD(m2, 0) & vbCr
  1776.    Tmp1 = Tmp1 + "AD(" & m1 & ", 1) is " & AD(m1, 1) & vbCr
  1777.    Tmp1 = Tmp1 + "AD(" & m2 & ", 1) is " & AD(m2, 1) & vbCr & vbCr
  1778.    cStartBasisTimer
  1779.    For i = 1 To Item
  1780.       j = cArrayOnDisk(Tmp, AD(), GET_ARRAY_ON_DISK)
  1781.    Next i
  1782.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1783.    Label3.Caption = Tmp1
  1784. End Sub
  1785. Private Sub TestArrayStringOnDisk()
  1786.    Dim Title      As String
  1787.    Dim Tmp        As String
  1788.    Dim Tmp1       As String
  1789.    Dim Tmp2       As String
  1790.    Dim i          As Long
  1791.    Dim j          As Long
  1792.    Dim n1         As Long
  1793.    Dim n2         As Long
  1794.    Dim r          As Long
  1795.    Dim m1         As Integer
  1796.    Dim m2         As Integer
  1797.    m1 = -999
  1798.    m2 = 4000
  1799.    ReDim AD(m1 To m2) As String
  1800.    ' initialization because we use ReDim without Global definition
  1801.    'For i = m1 To m2
  1802.    '   AD(i) = Space$(256)
  1803.    'Next i
  1804.    Randomize Timer
  1805.    Tmp = "c:\autoexec.bat"
  1806.    Tmp2 = "c:\autoexec.tab"
  1807.    Tmp1 = "Reading file '" & Tmp & "' into AD(" & m1 & " To " & m2 & ") is '" & cArrayStringOnDisk(Tmp, AD(), GET_ARRAY_ON_DISK, r) & "'" & vbCr
  1808.    Tmp1 = Tmp1 & "   The 7 (on " & r & ") first lines in array are : " & vbCr & vbCr
  1809.    For i = 0 To 6
  1810.       Tmp1 = Tmp1 & AD(m1 + i) & vbCr
  1811.    Next i
  1812.    Tmp1 = Tmp1 & vbCr & "Writing file '" & Tmp2 & "' from AD(" & m1 & " To " & m2 & ") is '" & cArrayStringOnDisk(Tmp2, AD(), PUT_ARRAY_ON_DISK, r) & "'" & vbCr & vbCr
  1813.    Tmp1 = Tmp1 & "Reading file '" & Tmp2 & "' into AD(" & m1 & " To " & m2 & ") is '" & cArrayStringOnDisk(Tmp2, AD(), GET_ARRAY_ON_DISK, r) & "'" & vbCr
  1814.    Tmp1 = Tmp1 & "   The 7 (on " & r & ") first lines in array are : " & vbCr & vbCr
  1815.    For i = 0 To 6
  1816.       Tmp1 = Tmp1 & AD(m1 + i) & vbCr
  1817.    Next i
  1818.    cStartBasisTimer
  1819.    For i = 1 To Item
  1820.       j = cArrayStringOnDisk(Tmp, AD(), GET_ARRAY_ON_DISK, r)
  1821.    Next i
  1822.    Tmp1 = Tmp1 & vbCr & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1823.    Label3.Caption = Tmp1
  1824. End Sub
  1825. Private Sub TestAscTime()
  1826.    Dim Title      As String
  1827.    Dim Tmp        As String
  1828.    Dim Tmp1       As String
  1829.    Dim Tmp2       As String
  1830.    Dim i          As Integer
  1831.    Dim j          As Integer
  1832.    Dim k          As Long
  1833.    Dim ErrCode    As Integer
  1834.    Tmp1 = ""
  1835.    For i = LNG_FRENCH To LNG_NORVEGIAN
  1836.       Tmp1 = Tmp1 + cGetAscTime(i) & vbCr
  1837.    Next i
  1838.    Tmp1 = Tmp1 + vbCr
  1839.    cStartBasisTimer
  1840.    For i = 1 To Item
  1841.       Tmp = cGetAscTime(LNG_FRENCH)
  1842.    Next i
  1843.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1844.    Label3.Caption = Tmp1
  1845. End Sub
  1846. Private Sub TestAtoR()
  1847.    Dim Tmp        As Integer
  1848.    Dim Tmp1       As String
  1849.    Tmp = Year(Int(Now))
  1850.    Tmp1 = Tmp & " in Roman is " & UCase$(cArabicToRoman(Tmp)) & vbCr
  1851.    Tmp = Year(Int(Now)) - 1
  1852.    Tmp1 = Tmp1 & Tmp & " in Roman is " & UCase$(cArabicToRoman(Tmp)) & vbCr
  1853.    Tmp = Year(Int(Now)) + 1
  1854.    Tmp1 = Tmp1 & Tmp & " in Roman is " & UCase$(cArabicToRoman(Tmp)) & vbCr
  1855.    Label3.Caption = Tmp1
  1856. End Sub
  1857. Private Sub TestBaseConversion()
  1858.    Dim Title      As String
  1859.    Dim Tmp        As String
  1860.    Dim Tmp1       As String
  1861.    Dim Tmp2       As String
  1862.    Dim i          As Integer
  1863.    Dim j          As Integer
  1864.    Dim k          As Long
  1865.    Dim ErrCode    As Integer
  1866.    Tmp1 = ""
  1867.    For i = 2 To 20
  1868.       Tmp1 = Tmp1 + "Convert '1234567' base 10 to base " & i & " is " & cBaseConversion("1234567", 10, i) & vbCr
  1869.    Next i
  1870.    Tmp1 = Tmp1 + vbCr
  1871.    cStartBasisTimer
  1872.    For i = 1 To Item
  1873.       Tmp = cBaseConversion("123456789", 10, 10)
  1874.    Next i
  1875.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1876.    Label3.Caption = Tmp1
  1877. End Sub
  1878. Private Sub TestBetween()
  1879.    Dim Title      As String
  1880.    Dim Tmp        As String
  1881.    Dim Tmp1       As String
  1882.    Dim Tmp2       As String
  1883.    Dim i          As Integer
  1884.    Dim j          As Integer
  1885.    Tmp1 = "601 is not between 720 and 840 => " & cBetween(601, 720, 840) & vbCr & vbCr
  1886.    Tmp1 = Tmp1 & "601 is between 540 and 602 => " & cBetween(601, 540, 602) & vbCr & vbCr
  1887.    Tmp1 = Tmp1 & "61 is between 61 and 62 => " & cBetween(61, 61, 62) & vbCr & vbCr
  1888.    cStartBasisTimer
  1889.    For i = 1 To Item
  1890.       j = cBetween(720, 0, 1439)
  1891.    Next i
  1892.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1893.    Label3.Caption = Tmp1
  1894. End Sub
  1895. Private Sub TestBig()
  1896.    Dim Title      As String
  1897.    Dim Tmp        As String
  1898.    Dim Tmp1       As String
  1899.    Dim Tmp2       As String
  1900.    Dim Tmp3       As String
  1901.    Dim i          As Integer
  1902.    Dim j          As Integer
  1903.    Dim m1         As Double
  1904.    Dim m2         As Double
  1905.    m1 = 123456789012345#
  1906.    m2 = 987654321098765#
  1907.    Tmp1 = Tmp1 & "Double     : Add '" & m1 & "' and '" & m2 & "' is '" & (m1 + m2) & "'" & vbCr
  1908.    Tmp1 = Tmp1 & "Big Double : Add '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigAdd(cMKN(Str$(m1)), cMKN(Str$(m2))), 0) & "'" & vbCr
  1909.    Tmp1 = Tmp1 & "Big Num    : Add '" & m1 & "' and '" & m2 & "' is '" & cBigNum(LTrim$(Str$(m1)), BIG_ADD, LTrim$(Str$(m2))) & "'" & vbCr & vbCr
  1910.    Tmp1 = Tmp1 & "Double     : Sub '" & m1 & "' and '" & m2 & "' is '" & (m1 - m2) & "'" & vbCr
  1911.    Tmp1 = Tmp1 & "Big Double : Sub '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigSub(cMKN(Str$(m1)), cMKN(Str$(m2))), 0) & "'" & vbCr
  1912.    Tmp1 = Tmp1 & "Big Num    : Sub '" & m1 & "' and '" & m2 & "' is '" & cBigNum(LTrim$(Str$(m1)), BIG_SUB, LTrim$(Str$(m2))) & "'" & vbCr & vbCr
  1913.    Tmp1 = Tmp1 & "Double     : Mul '" & m1 & "' and '" & m2 & "' is '" & (m1 * m2) & "'" & vbCr
  1914.    Tmp1 = Tmp1 & "Big Double : Mul '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigMul(cMKN(Str$(m1)), cMKN(Str$(m2))), 0) & "'" & vbCr
  1915.    Tmp1 = Tmp1 & "Big Num    : Mul '" & m1 & "' and '" & m2 & "' is '" & cBigNum(LTrim$(Str$(m1)), BIG_MUL, LTrim$(Str$(m2))) & "'" & vbCr & vbCr
  1916.    Tmp1 = Tmp1 & "Double     : Div '" & m1 & "' and '" & m2 & "' is '" & (m1 / m2) & "'" & vbCr
  1917.    Tmp1 = Tmp1 & "Big Double : Div '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigDiv(cMKN(Str$(m1)), cMKN(Str$(m2))), 0) & "'" & vbCr & vbCr
  1918.    cStartBasisTimer
  1919.    For i = 1 To ItemFile
  1920.       Tmp3 = cBigAdd(cMKN(Str$(m1)), cMKN(Str$(m2)))
  1921.    Next i
  1922.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1923.    Label3.Caption = Tmp1
  1924. End Sub
  1925. Private Sub TestBigNum()
  1926.    Dim Title      As String
  1927.    Dim Tmp        As String
  1928.    Dim Tmp1       As String
  1929.    Dim Tmp2       As String
  1930.    Dim Tmp3       As String
  1931.    Dim Tmp4       As String
  1932.    Dim i          As Integer
  1933.    Dim j          As Integer
  1934.    Dim m          As Double
  1935.    Tmp3 = "00001234567890123456789012345678901"
  1936.    Tmp4 = "00009876543210987654321098765432100"
  1937.    Tmp1 = Tmp1 & "X = " & Tmp3 & vbCr
  1938.    Tmp1 = Tmp1 & "Y = " & Tmp4 & vbCr & vbCr
  1939.    Tmp = Tmp3
  1940.    Tmp2 = Tmp4
  1941.    Tmp1 = Tmp1 & "'(X) + (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_ADD, Tmp2) & "'" & vbCr
  1942.    Tmp = Tmp3
  1943.    Tmp2 = "-" & Tmp4
  1944.    Tmp1 = Tmp1 & "'(X) + (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_ADD, Tmp2) & "'" & vbCr
  1945.    Tmp = "-" & Tmp3
  1946.    Tmp2 = Tmp4
  1947.    Tmp1 = Tmp1 & "'(-X) + (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_ADD, Tmp2) & "'" & vbCr
  1948.    Tmp = "-" & Tmp3
  1949.    Tmp2 = "-" & Tmp4
  1950.    Tmp1 = Tmp1 & "'(-X) + (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_ADD, Tmp2) & "'" & vbCr & vbCr
  1951.    Tmp = Tmp3
  1952.    Tmp2 = Tmp4
  1953.    Tmp1 = Tmp1 & "'(X) - (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_SUB, Tmp2) & "'" & vbCr
  1954.    Tmp = Tmp3
  1955.    Tmp2 = "-" & Tmp4
  1956.    Tmp1 = Tmp1 & "'(X) - (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_SUB, Tmp2) & "'" & vbCr
  1957.    Tmp = "-" & Tmp3
  1958.    Tmp2 = Tmp4
  1959.    Tmp1 = Tmp1 & "'(-X) - (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_SUB, Tmp2) & "'" & vbCr
  1960.    Tmp = "-" & Tmp3
  1961.    Tmp2 = "-" & Tmp4
  1962.    Tmp1 = Tmp1 & "'(-X) - (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_SUB, Tmp2) & "'" & vbCr & vbCr
  1963.    Tmp = Tmp3
  1964.    Tmp2 = Tmp4
  1965.    Tmp1 = Tmp1 & "'(X) * (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_MUL, Tmp2) & "'" & vbCr
  1966.    Tmp = Tmp3
  1967.    Tmp2 = "-" & Tmp4
  1968.    Tmp1 = Tmp1 & "'(X) * (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_MUL, Tmp2) & "'" & vbCr
  1969.    Tmp = "-" & Tmp3
  1970.    Tmp2 = Tmp4
  1971.    Tmp1 = Tmp1 & "'(-X) * (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_MUL, Tmp2) & "'" & vbCr
  1972.    Tmp = "-" & Tmp3
  1973.    Tmp2 = "-" & Tmp4
  1974.    Tmp1 = Tmp1 & "'(-X) * (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_MUL, Tmp2) & "'" & vbCr & vbCr
  1975.    cStartBasisTimer
  1976.    For i = 1 To ItemFile
  1977.       Tmp3 = cBigNum(Tmp, BIG_ADD, Tmp2)
  1978.    Next i
  1979.    Tmp1 = Tmp1 & "speed for " & ItemFile & " ADD = " & (cReadBasisTimer() / 1000) & vbCr
  1980.    cStartBasisTimer
  1981.    For i = 1 To ItemFile
  1982.       Tmp3 = cBigNum(Tmp, BIG_SUB, Tmp2)
  1983.    Next i
  1984.    Tmp1 = Tmp1 & "speed for " & ItemFile & " SUB = " & (cReadBasisTimer() / 1000) & vbCr
  1985.    cStartBasisTimer
  1986.    For i = 1 To ItemFile
  1987.       Tmp3 = cBigNum(Tmp, BIG_MUL, Tmp2)
  1988.    Next i
  1989.    Tmp1 = Tmp1 & "speed for " & ItemFile & " MUL = " & (cReadBasisTimer() / 1000)
  1990.    Label3.Caption = Tmp1
  1991. End Sub
  1992. Private Sub TestBigString01()
  1993.    Dim Tmp1       As String
  1994.    Dim m1         As Integer
  1995.    Dim p1         As Integer
  1996.    Tmp1 = "Create a big string of 512 Kb is "
  1997.    m1 = cHugeStrCreate(512 * 1024&)
  1998.    Tmp1 = Tmp1 & IIf(m1 <> 0, "OK", "ko") & " (" & m1 & ")" & vbCr
  1999.    Tmp1 = Tmp1 & "Size (" & m1 & ") is " & cHugeStrSize(m1) & vbCr
  2000.    Tmp1 = Tmp1 & "Memory Address (" & m1 & ") is " & cHugeStrAddress(m1) & vbCr
  2001.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & vbCr
  2002.    Tmp1 = Tmp1 & "Add '1234567890' (" & m1 & ") is " & IIf(cHugeStrAdd(m1, "1234567890"), "OK", "ko") & vbCr
  2003.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & vbCr
  2004.    Tmp1 = Tmp1 & "Pointer (" & m1 & ") is " & cHugeStrGetWP(m1) & vbCr
  2005.    Tmp1 = Tmp1 & "Add 'This is a test' (" & m1 & ") is " & IIf(cHugeStrAdd(m1, "This is a test"), "OK", "ko") & vbCr
  2006.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & vbCr
  2007.    Tmp1 = Tmp1 & "Pointer (" & m1 & ") is " & cHugeStrGetWP(m1) & vbCr
  2008.    Tmp1 = Tmp1 & "Blocks (" & m1 & ") is " & cHugeStrBlocks(m1) & vbCr
  2009.    Tmp1 = Tmp1 & "Read (" & m1 & ") is '" & cHugeStrRead(m1, 1) & "'" & vbCr
  2010.    Tmp1 = Tmp1 & "Set pointer (" & m1 & ") to 7 is " & cHugeStrSetWP(m1, 7) & vbCr
  2011.    Tmp1 = Tmp1 & "Add 'THIS IS A TEST' (" & m1 & ") is " & IIf(cHugeStrAdd(m1, "THIS IS A TEST"), "OK", "ko") & vbCr
  2012.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & vbCr
  2013.    Tmp1 = Tmp1 & "Read (" & m1 & ") is '" & cHugeStrRead(m1, 1) & "'" & vbCr
  2014.    Tmp1 = Tmp1 & "Append 'append one' (" & m1 & ") is " & IIf(cHugeStrAppend(m1, "append one"), "OK", "ko") & vbCr
  2015.    Tmp1 = Tmp1 & "Append 'append two' (" & m1 & ") is " & IIf(cHugeStrAppend(m1, "append two"), "OK", "ko") & vbCr
  2016.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & vbCr
  2017.    Tmp1 = Tmp1 & "Read (" & m1 & ") is '" & cHugeStrRead(m1, 1) & "'" & vbCr
  2018.    Tmp1 = Tmp1 & "Set pointer (" & m1 & ") to " & cHugeStrLength(m1) & " is " & cHugeStrSetWP(m1, cHugeStrLength(m1)) & vbCr
  2019.    Tmp1 = Tmp1 & "Add 'AZERTYUIOP' (" & m1 & ") is " & IIf(cHugeStrAdd(m1, "AZERTYUIOP"), "OK", "ko") & vbCr
  2020.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & vbCr
  2021.    Tmp1 = Tmp1 & "Mid (" & m1 & ") is '" & cHugeStrMid(m1, 3, 10) & "'" & vbCr
  2022.    Tmp1 = Tmp1 & "Read (" & m1 & ") is '" & cHugeStrRead(m1, 1) & "'" & vbCr
  2023.    Tmp1 = Tmp1 & "Clear (" & m1 & ") is " & IIf(cHugeStrClear(m1), "OK", "ko") & vbCr
  2024.    Tmp1 = Tmp1 & "Free a big string of 512 Kb is "
  2025.    p1 = cHugeStrFree(m1)
  2026.    Tmp1 = Tmp1 & IIf(p1 <> 0, "OK", "ko") & " (" & p1 & ")" & vbCr
  2027.    Label3.Caption = Tmp1
  2028. End Sub
  2029. Private Sub TestBlockCharFromLeft()
  2030.    Dim Title      As String
  2031.    Dim Tmp        As String
  2032.    Dim Tmp1       As String
  2033.    Dim Tmp2       As String
  2034.    Dim i          As Integer
  2035.    Dim j          As Integer
  2036.    Tmp = Text1.Text
  2037.    Title = "The 3,7,1 blocks from left of [" & Tmp & "] are " & vbCr & vbCr
  2038.    Tmp = Text1.Text
  2039.    Tmp1 = Title & "3:" & cBlockCharFromLeft(Tmp, 3) & " | 7:" & cBlockCharFromLeft(Tmp, 7) & " | 1:" & cBlockCharFromLeft(Tmp, 1) & vbCr & vbCr
  2040.    cStartBasisTimer
  2041.    For i = 1 To Item
  2042.       Tmp2 = cBlockCharFromLeft(Tmp, 2)
  2043.    Next i
  2044.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2045.    Label3.Caption = Tmp1
  2046. End Sub
  2047. Private Sub TestBlockCharFromRight()
  2048.    Dim Title      As String
  2049.    Dim Tmp        As String
  2050.    Dim Tmp1       As String
  2051.    Dim Tmp2       As String
  2052.    Dim i          As Integer
  2053.    Dim j          As Integer
  2054.    Tmp = Text1.Text
  2055.    Title = "The 3,7,1 blocks from right of [" & Tmp & "] are " & vbCr & vbCr
  2056.    Tmp = Text1.Text
  2057.    Tmp1 = Title & "3:" & cBlockCharFromRight(Tmp, 3) & " | 7:" & cBlockCharFromRight(Tmp, 7) & " | 1:" & cBlockCharFromRight(Tmp, 1) & vbCr & vbCr
  2058.    cStartBasisTimer
  2059.    For i = 1 To Item
  2060.       Tmp2 = cBlockCharFromRight(Tmp, 2)
  2061.    Next i
  2062.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2063.    Label3.Caption = Tmp1
  2064. End Sub
  2065. Private Sub TestChangeChars()
  2066.    Dim Title      As String
  2067.    Dim Tmp        As String
  2068.    Dim Tmp1       As String
  2069.    Dim Tmp2       As String
  2070.    Dim i          As Integer
  2071.    Dim j          As Integer
  2072.    Tmp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  2073.    Title = "Change 'AZM' into 'qyc' of [" & Tmp & "] is "
  2074.    Call cChangeChars(Tmp, "AZM", "qyc")
  2075.    Tmp1 = Title & Tmp & vbCr & vbCr
  2076.    cStartBasisTimer
  2077.    For i = 1 To Item
  2078.       Call cChangeChars(Tmp, "AZM", "qyc")
  2079.    Next i
  2080.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2081.    Label3.Caption = Tmp1
  2082. End Sub
  2083. Private Sub TestChangeCharsUntil()
  2084.    Dim Title      As String
  2085.    Dim Tmp        As String
  2086.    Dim Tmp1       As String
  2087.    Dim Tmp2       As String
  2088.    Dim i          As Integer
  2089.    Dim j          As Integer
  2090.    Tmp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  2091.    Title = "Change 'AZM' into 'qyc' of [" & Tmp & "] until 'N' is "
  2092.    Call cChangeCharsUntil(Tmp, "AZM", "qyc", "N")
  2093.    Tmp1 = Title & Tmp & vbCr & vbCr
  2094.    cStartBasisTimer
  2095.    For i = 1 To Item
  2096.       Call cChangeCharsUntil(Tmp, "AZM", "qyc", "N")
  2097.    Next i
  2098.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2099.    Label3.Caption = Tmp1
  2100. End Sub
  2101. Private Sub TestChDir()
  2102.    Dim Title      As String
  2103.    Dim Tmp        As String
  2104.    Dim Tmp1       As String
  2105.    Dim Tmp2       As String
  2106.    Dim i          As Integer
  2107.    Dim j          As Integer
  2108.    Dim k          As Long
  2109.    Dim ErrCode    As Integer
  2110.    Tmp1 = ""
  2111.    For i = 1 To 26
  2112.       k = cChDir(Chr$(64 + i) & ":\")
  2113.       If (k = True) Then
  2114.          Tmp1 = Tmp1 & "ChDir to \ on '" & Chr$(64 + i) & ":' is " & IIf(k = True, "succesfull", "not successfull") & vbCr
  2115.       End If
  2116.    Next i
  2117.    Tmp1 = Tmp1 + vbCr
  2118.    cStartBasisTimer
  2119.    For i = 1 To Item
  2120.       k = cChDir("C:\")
  2121.    Next i
  2122.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2123.    Label3.Caption = Tmp1
  2124. End Sub
  2125. Private Sub TestChDrive()
  2126.    Dim Title      As String
  2127.    Dim Tmp        As String
  2128.    Dim Tmp1       As String
  2129.    Dim Tmp2       As String
  2130.    Dim i          As Integer
  2131.    Dim j          As Integer
  2132.    Dim k          As Long
  2133.    Dim ErrCode    As Integer
  2134.    Tmp1 = ""
  2135.    For i = 1 To 26
  2136.       k = cChDrive(Chr$(64 + i))
  2137.       If (k = True) Then
  2138.          Tmp1 = Tmp1 & "ChDrive on '" & Chr$(64 + i) & ":' is " & IIf(k = True, "succesfull", "not successfull") & vbCr
  2139.       End If
  2140.    Next i
  2141.    Tmp1 = Tmp1 + vbCr
  2142.    cStartBasisTimer
  2143.    For i = 1 To Item
  2144.       k = cChDrive("C")
  2145.    Next i
  2146.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2147.    Label3.Caption = Tmp1
  2148. End Sub
  2149. Private Sub TestCheckChars()
  2150.    Dim Title      As String
  2151.    Dim Tmp        As String
  2152.    Dim Tmp1       As String
  2153.    Dim Tmp2       As String
  2154.    Dim i          As Integer
  2155.    Dim j          As Integer
  2156.    Tmp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  2157.    Title = "Check 'A','Z' in [" & Tmp & "] is "
  2158.    Tmp1 = Title & IIf(cCheckChars(Tmp, "AZ"), "all present", "not all present") & vbCr & vbCr
  2159.    Title = Tmp1 & "Check 'a','Z' in [" & Tmp & "] is "
  2160.    Tmp1 = Title & IIf(cCheckChars(Tmp, "aZ"), "all present", "not all present") & vbCr & vbCr
  2161.    cStartBasisTimer
  2162.    For i = 1 To Item
  2163.       j = cCheckChars(Tmp, "AZ")
  2164.    Next i
  2165.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2166.    Label3.Caption = Tmp1
  2167. End Sub
  2168. Private Sub TestCheckNumericity()
  2169.    Dim Title      As String
  2170.    Dim Tmp        As String
  2171.    Dim Tmp1       As String
  2172.    Dim Tmp2       As String
  2173.    Dim i          As Integer
  2174.    Dim j          As Integer
  2175.    Tmp = Text1.Text
  2176.    Title = "[" & Tmp & "] is "
  2177.    Tmp1 = Title & IIf(cCheckNumericity(Tmp), "Numeric", " not Numeric") & vbCr & vbCr
  2178.    cStartBasisTimer
  2179.    For i = 1 To Item
  2180.       j = cCheckNumericity(Tmp)
  2181.    Next i
  2182.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2183.    Label3.Caption = Tmp1
  2184. End Sub
  2185. Private Sub TestCheckTime()
  2186.    Dim Title      As String
  2187.    Dim Tmp        As String
  2188.    Dim Tmp1       As String
  2189.    Dim Tmp2       As String
  2190.    Dim i          As Integer
  2191.    Dim j          As Integer
  2192.    Tmp1 = "10:01 is not between 12:00 and 14:00 => " & cCheckTime(601, 720, 840) & vbCr & vbCr
  2193.    Tmp1 = Tmp1 & "10:01 is between 09:00 and 10:02 => " & cCheckTime(601, 540, 602) & vbCr & vbCr
  2194.    Tmp1 = Tmp1 & "01:01 is between 23:58 and 02:45 => " & cCheckTime(61, 1438, 165) & vbCr & vbCr
  2195.    cStartBasisTimer
  2196.    For i = 1 To Item
  2197.       j = cCheckTime(720, 0, 1439)
  2198.    Next i
  2199.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2200.    Label3.Caption = Tmp1
  2201. End Sub
  2202. Private Sub TestCloseAllEditForm()
  2203.    If (cCloseAllEditForm() = True) Then
  2204.       Label3.Caption = "CloseAllEditForm SUCCESS"
  2205.    Else
  2206.       Label3.Caption = "CloseAllEditForm FAIL"
  2207.    End If
  2208. End Sub
  2209. Private Sub TestClusterSize()
  2210.    Dim Title      As String
  2211.    Dim Tmp        As String
  2212.    Dim Tmp1       As String
  2213.    Dim Tmp2       As String
  2214.    Dim i          As Integer
  2215.    Dim j          As Integer
  2216.    Dim k          As Long
  2217.    Dim ErrCode    As Integer
  2218.    Tmp1 = ""
  2219.    For i = 1 To 26
  2220.       k = cGetDiskClusterSize(Chr$(64 + i))
  2221.       If (k <> True) Then
  2222.          Tmp1 = Tmp1 & "DiskClusterSize for '" & Chr$(64 + i) & ":' is " & k & vbCr
  2223.       End If
  2224.    Next i
  2225.    Tmp1 = Tmp1 + vbCr
  2226.    cStartBasisTimer
  2227.    For i = 1 To Item
  2228.       k = cGetDiskClusterSize("C")
  2229.    Next i
  2230.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2231.    Label3.Caption = Tmp1
  2232. End Sub
  2233. Private Sub TestCnvAE()
  2234.    Dim Title      As String
  2235.    Dim Tmp        As String
  2236.    Dim Tmp1       As String
  2237.    Dim Tmp2       As String
  2238.    Dim i          As Integer
  2239.    Dim j          As Integer
  2240.    Tmp = Text1.Text
  2241.    Title = "ASCII -> EBCDIC of '" & Tmp & "' is "
  2242.    Call cCnvASCIItoEBCDIC(Tmp)
  2243.    Tmp1 = Title & Tmp & vbCr & vbCr
  2244.    Title = "EBCDIC -> ASCII of '" & Tmp & "' is "
  2245.    Call cCnvEBCDICtoASCII(Tmp)
  2246.    Tmp1 = Tmp1 & Title & Tmp & vbCr & vbCr
  2247.    cStartBasisTimer
  2248.    For i = 1 To Item
  2249.       Call cCnvASCIItoEBCDIC(Tmp)
  2250.    Next i
  2251.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2252.    Label3.Caption = Tmp1
  2253. End Sub
  2254. Private Sub TestCombination()
  2255.    Dim Title      As String
  2256.    Dim Tmp        As String
  2257.    Dim Tmp1       As String
  2258.    Dim Tmp2       As String
  2259.    Dim Tmp3       As String
  2260.    Dim i          As Integer
  2261.    Dim j          As Integer
  2262.    Dim m1         As Double
  2263.    Dim m2         As Double
  2264.    For i = 0 To 10
  2265.       Tmp1 = Tmp1 & "Combination C(42, " & i & ") is '" & cCombination(42, i) & "'" & vbCr
  2266.    Next i
  2267.    Tmp1 = Tmp1 & vbCr
  2268.    For i = 42 To 32 Step -1
  2269.       Tmp1 = Tmp1 & "Combination C(42, " & i & ") is '" & cCombination(42, i) & "'" & vbCr
  2270.    Next i
  2271.    Tmp1 = Tmp1 & vbCr
  2272.    cStartBasisTimer
  2273.    For i = 1 To ItemFile
  2274.       m1 = cCombination(42, 6)
  2275.    Next i
  2276.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2277.    Label3.Caption = Tmp1
  2278. End Sub
  2279. Private Sub TestCompact()
  2280.    Dim Title      As String
  2281.    Dim Tmp        As String
  2282.    Dim Tmp1       As String
  2283.    Dim Tmp2       As String
  2284.    Dim i          As Integer
  2285.    Dim j          As Integer
  2286.    Tmp = "30313233343536373839"
  2287.    Title = "Compact '" & Tmp & "' is "
  2288.    Tmp1 = Title & cCompact(Tmp) & vbCr & vbCr
  2289.    cStartBasisTimer
  2290.    For i = 1 To Item
  2291.       Tmp2 = cCompact(Tmp)
  2292.    Next i
  2293.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2294.    Label3.Caption = Tmp1
  2295. End Sub
  2296. Private Sub TestCompress()
  2297.    Dim Title      As String
  2298.    Dim Tmp        As String
  2299.    Dim Tmp1       As String
  2300.    Dim Tmp2       As String
  2301.    Dim i          As Integer
  2302.    Dim j          As Integer
  2303.    Tmp1 = "A " & Chr$(9) & "BC  "
  2304.    Tmp = Tmp1
  2305.    Title = "Filter chr(0),chr(9),chr(32) in [" & Tmp & "] is "
  2306.    Tmp1 = Title & cCompress(Tmp) & vbCr & vbCr
  2307.    cStartBasisTimer
  2308.    For i = 1 To Item
  2309.       Tmp2 = cCompress(Tmp)
  2310.    Next i
  2311.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2312.    Label3.Caption = Tmp1
  2313. End Sub
  2314. Private Sub TestCompressTab()
  2315.    Dim Title      As String
  2316.    Dim Tmp        As String
  2317.    Dim Tmp1       As String
  2318.    Dim Tmp2       As String
  2319.    Dim i          As Integer
  2320.    Dim j          As Integer
  2321.    Tmp = "A      BC   DEF  GHIJ  "
  2322.    Title = "Compress tab (3 chars) into [" & Tmp & "] is " & vbCr & vbCr
  2323.    Tmp1 = Title & cCompressTab(Tmp, 3) & vbCr & vbCr
  2324.    Tmp = "A      BC   DEF  GHIJ  "
  2325.    Title = "Compress tab (2 chars) into [" & Tmp & "] is " & vbCr & vbCr
  2326.    Tmp1 = Tmp1 & Title & cCompressTab(Tmp, 2) & vbCr & vbCr
  2327.    cStartBasisTimer
  2328.    For i = 1 To Item
  2329.       Tmp2 = cCompressTab(Tmp, 3)
  2330.    Next i
  2331.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2332.    Label3.Caption = Tmp1
  2333. End Sub
  2334. Private Sub TestControl3D()
  2335.    Dim i    As Integer
  2336.    Dim j    As Integer
  2337.    Dim r    As tagRECT
  2338.    Dim Tmp1 As String
  2339.    Call cGetCtlRect(Label3, r)
  2340.    Tmp1 = "Coordinates (in pixels) of this label are :" & vbCr & vbCr
  2341.    Tmp1 = Tmp1 & "Left : " & r.Left & vbCr
  2342.    Tmp1 = Tmp1 & "Top : " & r.Top & vbCr
  2343.    Tmp1 = Tmp1 & "Right : " & r.Right & vbCr
  2344.    Tmp1 = Tmp1 & "Bottom : " & r.Bottom & vbCr & vbCr
  2345.    Call cGetCtlRectTwips(Label3, r)
  2346.    Tmp1 = Tmp1 & "Coordinates (in twips) of this label are :" & vbCr & vbCr
  2347.    Tmp1 = Tmp1 & "Left : " & r.Left & vbCr
  2348.    Tmp1 = Tmp1 & "Top : " & r.Top & vbCr
  2349.    Tmp1 = Tmp1 & "Right : " & r.Right & vbCr
  2350.    Tmp1 = Tmp1 & "Bottom : " & r.Bottom & vbCr
  2351.    Label3.Caption = Tmp1
  2352.    For i = 1 To 11
  2353.       c3D Label3, 0, 0
  2354.       DoEvents
  2355.       j = cSleep(140)
  2356.       c3D Label3, 1, 0
  2357.       DoEvents
  2358.       j = cSleep(140)
  2359.    Next i
  2360. End Sub
  2361. Private Sub TestCountDirectories()
  2362.    Dim Title      As String
  2363.    Dim Tmp        As String
  2364.    Dim Tmp1       As String
  2365.    Dim Tmp2       As String
  2366.    Dim i          As Integer
  2367.    Dim j          As Integer
  2368.    Dim k          As Integer
  2369.    Tmp1 = ""
  2370.    Tmp1 = Tmp1 & "Number of directories in C:\ is " & cCountDirectories("C:\*.*") & vbCr & vbCr
  2371.    Tmp1 = Tmp1 & "Number of directories in D:\ is " & cCountDirectories("D:\*.*") & vbCr & vbCr
  2372.    Tmp1 = Tmp1 & "Number of directories in E:\ is " & cCountDirectories("E:\*.*") & vbCr & vbCr
  2373.    cStartBasisTimer
  2374.    For i = 1 To 10
  2375.       k = cCountDirectories("C:\*.*")
  2376.    Next i
  2377.    Tmp1 = Tmp1 & "speed for " & 10 & " = " & cReadBasisTimer() & " ms"
  2378.    Label3.Caption = Tmp1
  2379. End Sub
  2380. Private Sub TestCountFiles()
  2381.    Dim Title      As String
  2382.    Dim Tmp        As String
  2383.    Dim Tmp1       As String
  2384.    Dim Tmp2       As String
  2385.    Dim i          As Integer
  2386.    Dim j          As Integer
  2387.    Dim k          As Integer
  2388.    Tmp1 = ""
  2389.    Tmp1 = Tmp1 & "Number of files in C:\ is " & cCountFiles("C:\*.*") & vbCr & vbCr
  2390.    Tmp1 = Tmp1 & "Number of files in D:\ is " & cCountFiles("D:\*.*") & vbCr & vbCr
  2391.    Tmp1 = Tmp1 & "Number of files in E:\ is " & cCountFiles("E:\*.*") & vbCr & vbCr
  2392.    cStartBasisTimer
  2393.    For i = 1 To 10
  2394.       k = cCountFiles("C:\*.*")
  2395.    Next i
  2396.    Tmp1 = Tmp1 & "speed for " & 10 & " = " & cReadBasisTimer() & " ms"
  2397.    Label3.Caption = Tmp1
  2398. End Sub
  2399. Private Sub TestCountI()
  2400.    Dim Title      As String
  2401.    Dim Tmp        As String
  2402.    Dim Tmp1       As String
  2403.    Dim Tmp2       As String
  2404.    Dim i          As Integer
  2405.    Dim j          As Integer
  2406.    Dim m          As Integer
  2407.    ReDim array(20) As Integer
  2408.    Call cRndInit(-1)
  2409.    For i = LBound(array) To UBound(array)
  2410.       array(i) = cRndI()
  2411.       List1.AddItem "" & array(i)
  2412.    Next i
  2413.    Tmp1 = Tmp1 & "Count '" & array(5) & "' is " & cCountI(array(), array(5)) & vbCr
  2414.    Tmp1 = Tmp1 & "Count '" & array(10) & "' is " & cCountI(array(), array(10)) & vbCr
  2415.    Tmp1 = Tmp1 & "Count '" & array(15) & "' is " & cCountI(array(), array(15)) & vbCr
  2416.    Tmp1 = Tmp1 & "Count '" & array(20) & "' is " & cCountI(array(), array(20)) & vbCr
  2417.    Tmp1 = Tmp1 & "Count '" & -1234 & "' is " & cCountI(array(), -1234) & vbCr
  2418.    cStartBasisTimer
  2419.    For i = 1 To ItemFile
  2420.       j = cCountI(array(), array(1))
  2421.    Next i
  2422.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2423.    Label3.Caption = Tmp1
  2424. End Sub
  2425. Private Sub TestCreateAndFill()
  2426.    Dim Title      As String
  2427.    Dim Tmp        As String
  2428.    Dim Tmp1       As String
  2429.    Dim Tmp2       As String
  2430.    Dim i          As Integer
  2431.    Dim j          As Integer
  2432.    Tmp = Text1.Text
  2433.    Title = "Create and Fill a string of 40 chars with [" & Tmp & "] is "
  2434.    Tmp1 = Title & cCreateAndFill(40, Tmp) & vbCr & vbCr
  2435.    cStartBasisTimer
  2436.    For i = 1 To Item
  2437.       Tmp2 = cCreateAndFill(40, Tmp)
  2438.    Next i
  2439.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2440.    Label3.Caption = Tmp1
  2441. End Sub
  2442. Private Sub TestCreateBits()
  2443.    Dim Title      As String
  2444.    Dim Tmp        As String
  2445.    Dim Tmp1       As String
  2446.    Dim Tmp2       As String
  2447.    Dim i          As Integer
  2448.    Dim j          As Integer
  2449.    Tmp = Text1.Text
  2450.    Title = "Create a string for 1024 bits is "
  2451.    Tmp1 = Title & Len(cCreateBits(1024)) & " bytes" & vbCr & vbCr
  2452.    cStartBasisTimer
  2453.    For i = 1 To Item
  2454.       Tmp2 = cCreateBits(1024)
  2455.    Next i
  2456.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2457.    Label3.Caption = Tmp1
  2458. End Sub
  2459. Private Sub TestCustomControls()
  2460.    Dim i       As Integer
  2461.    Dim n       As Integer
  2462.    Dim Tmp1    As String
  2463.    n = frmT2W.Count - 1
  2464.    For i = 0 To n
  2465.       Tmp1 = Tmp1 + "Control name is '" & cGetCtlNameIndex(frmT2W.Controls(i)) & "'     Control Class is '" & cGetCtlClass(frmT2W.Controls(i)) & "'" + vbCr
  2466.    Next i
  2467.    Label3.Caption = Tmp1
  2468. End Sub
  2469. Private Sub TestDAL(Management As Integer)
  2470.    Dim Tmp        As String
  2471.    Dim ErrCode    As Integer
  2472.    Dim DA         As tagDISKARRAY
  2473.    ErrCode = cMakeDir("c:\t2w_tmp")
  2474.    DA.nFilename = "c:\t2w_tmp\dalong.tmp"
  2475.    DA.nType = DA_LONG
  2476.    DA.nIsTyped = False
  2477.    DA.nRows = 100
  2478.    DA.nCols = 100
  2479.    DA.nSheets = 2
  2480.    Select Case Management
  2481.       Case True      'create
  2482.          ErrCode = cDACreate(DA, True)
  2483.       Case False     'use
  2484.          ErrCode = cDACreate(DA, False)
  2485.       Case 1         'clear all
  2486.          ErrCode = cDACreate(DA, False)
  2487.          If (ErrCode = -1) Then ErrCode = cDAClear(DA)
  2488.       Case 2         'clear sheet 2
  2489.          ErrCode = cDACreate(DA, False)
  2490.          If (ErrCode = -1) Then ErrCode = cDAClearSheet(DA, 2)
  2491.       Case 3         'clear last row
  2492.          ErrCode = cDACreate(DA, False)
  2493.          If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, 1)
  2494.       Case 4         'clear last col
  2495.          ErrCode = cDACreate(DA, False)
  2496.          If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, 1)
  2497.       Case 5         'clear last row in all sheets
  2498.          ErrCode = cDACreate(DA, False)
  2499.          If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, -1)
  2500.       Case 6         'clear last col in all sheets
  2501.          ErrCode = cDACreate(DA, False)
  2502.          If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, -1)
  2503.    End Select
  2504.    Tmp = Tmp & "ErrCode = " & ErrCode & vbCr & vbCr
  2505.    If (ErrCode = True) Then
  2506.       
  2507.       Tmp = Tmp & "DA.daSize       = " & DA.daSize & vbCr
  2508.       Tmp = Tmp & "DA.Signature    = " & DA.signature & vbCr
  2509.       Tmp = Tmp & "DA.nFilename    = " & Trim$(DA.nFilename) & vbCr
  2510.       Tmp = Tmp & "DA.nType        = " & DA.nType & vbCr
  2511.       Tmp = Tmp & "DA.nIsTyped     = " & DA.nIsTyped & vbCr
  2512.       Tmp = Tmp & "DA.nRows        = " & DA.nRows & vbCr
  2513.       Tmp = Tmp & "DA.nCols        = " & DA.nCols & vbCr
  2514.       Tmp = Tmp & "DA.nSheets      = " & DA.nSheets & vbCr
  2515.       Tmp = Tmp & "DA.rHandle      = " & DA.rHandle & vbCr
  2516.       Tmp = Tmp & "DA.rElementSize = " & DA.rElementSize & vbCr
  2517.       Tmp = Tmp & "DA.rFileSize    = " & DA.rFileSize & vbCr
  2518.       Tmp = Tmp & "DA.rParts       = " & DA.rParts & vbCr
  2519.       Tmp = Tmp & "DA.rRemain      = " & DA.rRemain & vbCr
  2520.       Tmp = Tmp & "DA.rSheetSize   = " & DA.rSheetSize & vbCr
  2521.       Tmp = Tmp & "DA.rTime        = " & DA.rTime & vbCr & vbCr
  2522.       If (Management = True) Then
  2523.          Call cDAPut(DA, 1, 1, 1, 12345)
  2524.          Call cDAPut(DA, 1, DA.nCols, 1, 56789)
  2525.          Call cDAPut(DA, DA.nRows, 1, 1, 54321)
  2526.          Call cDAPut(DA, DA.nRows, DA.nCols, 1, 98765)
  2527.          Call cDAPut(DA, 1, 1, 2, 12345678)
  2528.          Call cDAPut(DA, 1, DA.nCols, 2, 34567890)
  2529.          Call cDAPut(DA, DA.nRows, 1, 2, 123456789)
  2530.          Call cDAPut(DA, DA.nRows, DA.nCols, 2, 987654321)
  2531.       End If
  2532.       Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cDAGet(DA, 1, 1, 1) & "   , time : " & DA.rTime & vbCr
  2533.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:1, Value : " & cDAGet(DA, 1, DA.nCols, 1) & "   , time : " & DA.rTime & vbCr
  2534.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:1, Value : " & cDAGet(DA, DA.nRows, 1, 1) & "   , time : " & DA.rTime & vbCr
  2535.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:1, Value : " & cDAGet(DA, DA.nRows, DA.nCols, 1) & "   , time : " & DA.rTime & vbCr
  2536.       Tmp = Tmp & "R:1  , C:1  , D:2, Value : " & cDAGet(DA, 1, 1, 2) & "   , time : " & DA.rTime & vbCr
  2537.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:2, Value : " & cDAGet(DA, 1, DA.nCols, 2) & "   , time : " & DA.rTime & vbCr
  2538.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:2, Value : " & cDAGet(DA, DA.nRows, 1, 2) & "   , time : " & DA.rTime & vbCr
  2539.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:2, Value : " & cDAGet(DA, DA.nRows, DA.nCols, 2) & "   , time : " & DA.rTime & vbCr
  2540.    End If
  2541.    Call cDAClose(DA, False)
  2542.    Label3.Caption = Tmp
  2543. End Sub
  2544. Private Sub TestDAStr(Management As Integer)
  2545.    Dim Tmp        As String
  2546.    Dim ErrCode    As Integer
  2547.    Dim DA         As tagDISKARRAY
  2548.    ErrCode = cMakeDir("c:\t2w_tmp")
  2549.    DA.nFilename = "c:\t2w_tmp\dastring.tmp"
  2550.    DA.nType = 50
  2551.    DA.nIsTyped = False
  2552.    DA.nRows = 100
  2553.    DA.nCols = 100
  2554.    DA.nSheets = 2
  2555.    Select Case Management
  2556.       Case True      'create
  2557.          ErrCode = cDACreate(DA, True)
  2558.       Case False     'use
  2559.          ErrCode = cDACreate(DA, False)
  2560.       Case 1         'clear all
  2561.          ErrCode = cDACreate(DA, False)
  2562.          If (ErrCode = -1) Then ErrCode = cDAClear(DA)
  2563.       Case 2         'clear sheet 2
  2564.          ErrCode = cDACreate(DA, False)
  2565.          If (ErrCode = -1) Then ErrCode = cDAClearSheet(DA, 2)
  2566.       Case 3         'clear last row
  2567.          ErrCode = cDACreate(DA, False)
  2568.          If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, 1)
  2569.       Case 4         'clear last col
  2570.          ErrCode = cDACreate(DA, False)
  2571.          If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, 1)
  2572.       Case 5         'clear last row in all sheets
  2573.          ErrCode = cDACreate(DA, False)
  2574.          If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, -1)
  2575.       Case 6         'clear last col in all sheets
  2576.          ErrCode = cDACreate(DA, False)
  2577.          If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, -1)
  2578.    End Select
  2579.    Tmp = Tmp & "ErrCode = " & ErrCode & vbCr & vbCr
  2580.    If (ErrCode = True) Then
  2581.       
  2582.       Tmp = Tmp & "DA.daSize       = " & DA.daSize & vbCr
  2583.       Tmp = Tmp & "DA.Signature    = " & DA.signature & vbCr
  2584.       Tmp = Tmp & "DA.nFilename    = " & Trim$(DA.nFilename) & vbCr
  2585.       Tmp = Tmp & "DA.nType        = " & DA.nType & vbCr
  2586.       Tmp = Tmp & "DA.nIsTyped     = " & DA.nIsTyped & vbCr
  2587.       Tmp = Tmp & "DA.nRows        = " & DA.nRows & vbCr
  2588.       Tmp = Tmp & "DA.nCols        = " & DA.nCols & vbCr
  2589.       Tmp = Tmp & "DA.nSheets      = " & DA.nSheets & vbCr
  2590.       Tmp = Tmp & "DA.rHandle      = " & DA.rHandle & vbCr
  2591.       Tmp = Tmp & "DA.rElementSize = " & DA.rElementSize & vbCr
  2592.       Tmp = Tmp & "DA.rFileSize    = " & DA.rFileSize & vbCr
  2593.       Tmp = Tmp & "DA.rParts       = " & DA.rParts & vbCr
  2594.       Tmp = Tmp & "DA.rRemain      = " & DA.rRemain & vbCr
  2595.       Tmp = Tmp & "DA.rSheetSize   = " & DA.rSheetSize & vbCr
  2596.       Tmp = Tmp & "DA.rTime        = " & DA.rTime & vbCr & vbCr
  2597.       If (Management = True) Then
  2598.       
  2599.          Call cDAPut(DA, 1, 1, 1, "D:1, ABCDEFGHIJ")
  2600.          Call cDAPut(DA, 1, DA.nCols, 1, "D:1, abcdefghij")
  2601.          Call cDAPut(DA, DA.nRows, 1, 1, "D:1, OPQRSTUVWXYZ")
  2602.          Call cDAPut(DA, DA.nRows, DA.nCols, 1, "D:1, oprqstuvwxyz")
  2603.          Call cDAPut(DA, 1, 1, 2, "D:2, 1234567890")
  2604.          Call cDAPut(DA, 1, DA.nCols, 2, "D:2, 0987654321")
  2605.          Call cDAPut(DA, DA.nRows, 1, 2, "D:2, 12345ABCDE")
  2606.          Call cDAPut(DA, DA.nRows, DA.nCols, 2, "D:2, VWXYZ54321")
  2607.       End If
  2608.       Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & Trim$(cDAGet(DA, 1, 1, 1)) & "   , time : " & DA.rTime & vbCr
  2609.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:1, Value : " & Trim$(cDAGet(DA, 1, DA.nCols, 1)) & "   , time : " & DA.rTime & vbCr
  2610.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:1, Value : " & Trim$(cDAGet(DA, DA.nRows, 1, 1)) & "   , time : " & DA.rTime & vbCr
  2611.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:1, Value : " & Trim$(cDAGet(DA, DA.nRows, DA.nCols, 1)) & "   , time : " & DA.rTime & vbCr
  2612.       Tmp = Tmp & "R:1  , C:1  , D:2, Value : " & Trim$(cDAGet(DA, 1, 1, 2)) & "   , time : " & DA.rTime & vbCr
  2613.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:2, Value : " & Trim$(cDAGet(DA, 1, DA.nCols, 2)) & "   , time : " & DA.rTime & vbCr
  2614.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:2, Value : " & Trim$(cDAGet(DA, DA.nRows, 1, 2)) & "   , time : " & DA.rTime & vbCr
  2615.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:2, Value : " & Trim$(cDAGet(DA, DA.nRows, DA.nCols, 2)) & "   , time : " & DA.rTime & vbCr
  2616.    End If
  2617.    Call cDAClose(DA, False)
  2618.    Label3.Caption = Tmp
  2619. End Sub
  2620. Private Sub TestDate()
  2621.    Dim Title      As String
  2622.    Dim Tmp        As String
  2623.    Dim Tmp1       As String
  2624.    Dim Tmp2       As String
  2625.    Dim i          As Integer
  2626.    Dim j          As Integer
  2627.    Dim nYear      As Integer
  2628.    Dim nMonth     As Integer
  2629.    Dim nDay       As Integer
  2630.    Dim nNow       As Long
  2631.    nNow = Int(Now)
  2632.    nYear = Year(nNow)
  2633.    nMonth = Month(nNow)
  2634.    nDay = Day(nNow)
  2635.    Tmp1 = "Today is the '" & Format$(Int(Now), "short date") & "'" & vbCr & vbCr
  2636.    Tmp1 = Tmp1 & "Day of the week (ISO, U.S., Special) is (" & cDayOfWeek(nYear, nMonth, nDay, True) & ", " & cDayOfWeek(nYear, nMonth, nDay, False) & ", " & cDayOfWeek(nYear, nMonth, nDay, 1) & ")" & vbCr & vbCr
  2637.    Tmp1 = Tmp1 & "Day of the year is '" & cDayOfYear(nYear, nMonth, nDay) & "'" & vbCr & vbCr
  2638.    Tmp1 = Tmp1 & "Week of the year (ISO, U.S., Special) is (" & cWeekOfYear(nYear, nMonth, nDay, True) & ", " & cWeekOfYear(nYear, nMonth, nDay, False) & ", " & cWeekOfYear(nYear, nMonth, nDay, 1) & ")" & vbCr & vbCr
  2639.    nNow = cDateToScalar(nYear, nMonth, nDay)
  2640.    Tmp1 = Tmp1 & "Scalar day is '" & nNow & "'" & vbCr
  2641.    nYear = 0
  2642.    nMonth = 0
  2643.    nDay = 0
  2644.    Call cScalarToDate(nNow, nYear, nMonth, nDay)
  2645.    Tmp1 = Tmp1 & "Year : " & nYear & ", Month : " & nMonth & ", Day : " & nDay & vbCr & vbCr & vbCr
  2646.    nNow = Int(Now)
  2647.    nYear = Year(nNow)
  2648.    nMonth = 1
  2649.    nDay = 1
  2650.    Tmp1 = Tmp1 & "First Day is the '" & Format$(DateSerial(nYear, nMonth, nDay), "short date") & "'" & vbCr & vbCr
  2651.    Tmp1 = Tmp1 & "Day of the week (ISO, U.S., Special) is (" & cDayOfWeek(nYear, nMonth, nDay, True) & ", " & cDayOfWeek(nYear, nMonth, nDay, False) & ", " & cDayOfWeek(nYear, nMonth, nDay, 1) & ")" & vbCr & vbCr
  2652.    Tmp1 = Tmp1 & "Day of the year is '" & cDayOfYear(nYear, nMonth, nDay) & "'" & vbCr & vbCr
  2653.    Tmp1 = Tmp1 & "Week of the year (ISO, U.S., Special) is (" & cWeekOfYear(nYear, nMonth, nDay, True) & ", " & cWeekOfYear(nYear, nMonth, nDay, False) & ", " & cWeekOfYear(nYear, nMonth, nDay, 1) & ")" & vbCr & vbCr
  2654.    nNow = cDateToScalar(nYear, nMonth, nDay)
  2655.    Tmp1 = Tmp1 & "Scalar day is '" & nNow & "'" & vbCr
  2656.    nYear = 0
  2657.    nMonth = 0
  2658.    nDay = 0
  2659.    Call cScalarToDate(nNow, nYear, nMonth, nDay)
  2660.    Tmp1 = Tmp1 & "Year : " & nYear & ", Month : " & nMonth & ", Day : " & nDay & vbCr & vbCr
  2661.    Label3.Caption = Tmp1
  2662. End Sub
  2663. Private Sub TestDAType(Management As Integer)
  2664.    Dim Tmp        As String
  2665.    Dim ErrCode    As Integer
  2666.    Dim DA         As tagDISKARRAY
  2667.    Dim TE         As tagTASKENTRY
  2668.    ErrCode = cMakeDir("c:\t2w_tmp")
  2669.    DA.nFilename = "c:\t2w_tmp\datype.tmp"
  2670.    DA.nType = Len(TE)
  2671.    DA.nIsTyped = True
  2672.    DA.nRows = 100
  2673.    DA.nCols = 100
  2674.    DA.nSheets = 2
  2675.    Select Case Management
  2676.       Case True      'create
  2677.          ErrCode = cDACreate(DA, True)
  2678.       Case False     'use
  2679.          ErrCode = cDACreate(DA, False)
  2680.       Case 1         'clear all
  2681.          ErrCode = cDACreate(DA, False)
  2682.          If (ErrCode = -1) Then ErrCode = cDAClear(DA)
  2683.       Case 2         'clear sheet 2
  2684.          ErrCode = cDACreate(DA, False)
  2685.          If (ErrCode = -1) Then ErrCode = cDAClearSheet(DA, 2)
  2686.       Case 3         'clear last row
  2687.          ErrCode = cDACreate(DA, False)
  2688.          If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, 1)
  2689.       Case 4         'clear last col
  2690.          ErrCode = cDACreate(DA, False)
  2691.          If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, 1)
  2692.       Case 5         'clear last row in all sheets
  2693.          ErrCode = cDACreate(DA, False)
  2694.          If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, -1)
  2695.       Case 6         'clear last col in all sheets
  2696.          ErrCode = cDACreate(DA, False)
  2697.          If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, -1)
  2698.       End Select
  2699.    Tmp = Tmp & "ErrCode = " & ErrCode & vbCr & vbCr
  2700.    If (ErrCode = True) Then
  2701.       
  2702.       Tmp = Tmp & "DA.daSize       = " & DA.daSize & vbCr
  2703.       Tmp = Tmp & "DA.Signature    = " & DA.signature & vbCr
  2704.       Tmp = Tmp & "DA.nFilename    = " & Trim$(DA.nFilename) & vbCr
  2705.       Tmp = Tmp & "DA.nType        = " & DA.nType & vbCr
  2706.       Tmp = Tmp & "DA.nIsTyped     = " & DA.nIsTyped & vbCr
  2707.       Tmp = Tmp & "DA.nRows        = " & DA.nRows & vbCr
  2708.       Tmp = Tmp & "DA.nCols        = " & DA.nCols & vbCr
  2709.       Tmp = Tmp & "DA.nSheets      = " & DA.nSheets & vbCr
  2710.       Tmp = Tmp & "DA.rHandle      = " & DA.rHandle & vbCr
  2711.       Tmp = Tmp & "DA.rElementSize = " & DA.rElementSize & vbCr
  2712.       Tmp = Tmp & "DA.rFileSize    = " & DA.rFileSize & vbCr
  2713.       Tmp = Tmp & "DA.rParts       = " & DA.rParts & vbCr
  2714.       Tmp = Tmp & "DA.rRemain      = " & DA.rRemain & vbCr
  2715.       Tmp = Tmp & "DA.rSheetSize   = " & DA.rSheetSize & vbCr
  2716.       Tmp = Tmp & "DA.rTime        = " & DA.rTime & vbCr & vbCr
  2717.       If (Management = True) Then
  2718.          ErrCode = cTasks(TE, True)
  2719.          Call cDAPutType(DA, 1, 1, 1, TE)
  2720.          ErrCode = cTasks(TE, False)
  2721.          Call cDAPutType(DA, 1, DA.nCols, 1, TE)
  2722.          ErrCode = cTasks(TE, False)
  2723.          Call cDAPutType(DA, DA.nRows, 1, 1, TE)
  2724.          ErrCode = cTasks(TE, False)
  2725.          Call cDAPutType(DA, DA.nRows, DA.nCols, 1, TE)
  2726.          ErrCode = cTasks(TE, False)
  2727.          Call cDAPutType(DA, 1, 1, 2, TE)
  2728.          ErrCode = cTasks(TE, False)
  2729.          Call cDAPutType(DA, 1, DA.nCols, 2, TE)
  2730.          ErrCode = cTasks(TE, False)
  2731.          Call cDAPutType(DA, DA.nRows, 1, 2, TE)
  2732.          ErrCode = cTasks(TE, False)
  2733.          Call cDAPutType(DA, DA.nRows, DA.nCols, 2, TE)
  2734.          
  2735.       End If
  2736.       Call cDAGetType(DA, 1, 1, 1, TE)
  2737.       Tmp = Tmp & "R:1  , C:1  , D:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & vbCr
  2738.       Call cDAGetType(DA, 1, DA.nCols, 1, TE)
  2739.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & vbCr
  2740.       Call cDAGetType(DA, DA.nRows, 1, 1, TE)
  2741.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & vbCr
  2742.       Call cDAGetType(DA, DA.nRows, DA.nCols, 1, TE)
  2743.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & vbCr
  2744.       Call cDAGetType(DA, 1, 1, 2, TE)
  2745.       Tmp = Tmp & "R:1  , C:1  , D:2, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & vbCr
  2746.       Call cDAGetType(DA, 1, DA.nCols, 2, TE)
  2747.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:2, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & vbCr
  2748.       Call cDAGetType(DA, DA.nRows, 1, 2, TE)
  2749.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:2, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & vbCr
  2750.       Call cDAGetType(DA, DA.nRows, DA.nCols, 2, TE)
  2751.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:2, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & vbCr
  2752.    End If
  2753.    Call cDAClose(DA, False)
  2754.    Label3.Caption = Tmp
  2755. End Sub
  2756. Private Sub TestDecrypt()
  2757.    Dim Title      As String
  2758.    Dim Tmp        As String
  2759.    Dim Tmp1       As String
  2760.    Dim Tmp2       As String
  2761.    Dim Tmp3       As String
  2762.    Dim i          As Integer
  2763.    Dim j          As Integer
  2764.    Tmp3 = cToHexa(Format$(76543210))
  2765.    Tmp2 = "T2WIN-16"
  2766.    For i = ENCRYPT_LEVEL_0 To ENCRYPT_LEVEL_4
  2767.       Tmp = cEncrypt(Tmp2, Tmp3, i)
  2768.       Tmp1 = Tmp1 & "Decrypt (level " & i & ") of [" & Tmp & "] with '?' is "
  2769.       Tmp1 = Tmp1 & "[" & cDecrypt(Tmp, Tmp3, i) & "]" & vbCr & vbCr
  2770.    Next i
  2771.    cStartBasisTimer
  2772.    For i = 1 To Item
  2773.       Tmp2 = cDecrypt(Tmp2, Tmp1, ENCRYPT_LEVEL_3)
  2774.    Next i
  2775.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2776.    Label3.Caption = Tmp1
  2777. End Sub
  2778. Private Sub TestDeviationI()
  2779.    Dim Title      As String
  2780.    Dim Tmp        As String
  2781.    Dim Tmp1       As String
  2782.    Dim Tmp2       As String
  2783.    Dim i          As Integer
  2784.    Dim j          As Integer
  2785.    Dim m          As Double
  2786.    Dim n          As Double
  2787.    ReDim array(ItemMean) As Integer
  2788.    Randomize Timer
  2789.    m = 0
  2790.    For i = LBound(array) To UBound(array)
  2791.       array(i) = Int(RandI * Rnd(1))
  2792.       m = m + array(i)
  2793.       List1.AddItem "" & array(i)
  2794.    Next i
  2795.    m = m / (UBound(array) - LBound(array) + 1)
  2796.    n = 0
  2797.    For i = LBound(array) To UBound(array)
  2798.       n = n + ((array(i) - m) * (array(i) - m))
  2799.    Next i
  2800.    n = (Sqr(n) / (UBound(array) - LBound(array) + 1))
  2801.    Tmp1 = "The Deviation of a integer array of " & (ItemMean + 1) & " elements is " & vbCr & vbCr & cDeviationI(array()) & " (" & n & ")" & vbCr & vbCr
  2802.    cStartBasisTimer
  2803.    For i = 1 To ItemFile
  2804.       m = cDeviationI(array())
  2805.    Next i
  2806.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2807.    Label3.Caption = Tmp1
  2808. End Sub
  2809. Private Sub TestDOSGetVolLabel()
  2810.    Dim Title         As String
  2811.    Dim Tmp           As String
  2812.    Dim Tmp1          As String
  2813.    Dim Tmp2          As String
  2814.    Dim i             As Integer
  2815.    Dim j             As Integer
  2816.    For i = 1 To 4
  2817.       Tmp2 = cDOSGetVolumeLabel(Chr$(64 + i))
  2818.       If (Len(Tmp2) > 0) Then
  2819.          Tmp1 = Tmp1 & "Drive " & Chr$(64 + i) & " : '" & Tmp2 & "'" & vbCr
  2820.       Else
  2821.          Tmp1 = Tmp1 & "Drive " & Chr$(64 + i) & " : no volume label" & vbCr
  2822.       End If
  2823.    Next i
  2824.    Tmp1 = Tmp1 + vbCr
  2825.    cStartBasisTimer
  2826.    For i = 1 To Item
  2827.       Tmp2 = cDOSGetVolumeLabel("C")
  2828.    Next i
  2829.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2830.    Label3.Caption = Tmp1
  2831. End Sub
  2832. Private Sub TestDOSMediaID()
  2833.    Dim Title         As String
  2834.    Dim Tmp           As String
  2835.    Dim Tmp1          As String
  2836.    Dim Tmp2          As String
  2837.    Dim i             As Integer
  2838.    Dim j             As Integer
  2839.    Dim MEDIAID       As tagMEDIAID
  2840.    For i = 1 To 7
  2841.       If (cDOSGetMediaID(Chr$(64 + i), MEDIAID) = True) Then
  2842.          Tmp1 = Tmp1 & "Drive " & Chr$(64 + i) & " : " & vbCr
  2843.          Tmp1 = Tmp1 & "   SerialNumber is '" & Hex$(MEDIAID.SerialNumber) & "'" & vbCr
  2844.          Tmp1 = Tmp1 & "   VolLabel is '" & MEDIAID.VolLabel & "'" & vbCr
  2845.          Tmp1 = Tmp1 & "   FileSysType is '" & MEDIAID.FileSysType & "'" & vbCr & vbCr
  2846.       Else
  2847.          Tmp1 = Tmp1 & "Drive " & Chr$(64 + i) & " : no media id" & vbCr & vbCr
  2848.       End If
  2849.    Next i
  2850.    Tmp1 = Tmp1 + vbCr
  2851.    cStartBasisTimer
  2852.    For i = 1 To Item
  2853.       j = cDOSGetMediaID("", MEDIAID)
  2854.    Next i
  2855.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2856.    Label3.Caption = Tmp1
  2857. End Sub
  2858. Private Sub TestDriveType()
  2859.    Dim Title      As String
  2860.    Dim Tmp        As String
  2861.    Dim Tmp1       As String
  2862.    Dim Tmp2       As String
  2863.    Dim i          As Integer
  2864.    Dim j          As Integer
  2865.    Tmp1 = ""
  2866.    For i = 1 To 26
  2867.       j = cGetDriveType(Chr$(64 + i))
  2868.       If (j > 0) Then
  2869.          Tmp1 = Tmp1 & "'" & Chr$(64 + i) & ":' is "
  2870.          Select Case j
  2871.             Case 2
  2872.                Tmp1 = Tmp1 & "removable disk" & vbCr
  2873.             Case 3
  2874.                Tmp1 = Tmp1 & "fixed disk" & vbCr
  2875.             Case 4
  2876.                Tmp1 = Tmp1 & "remote disk" & vbCr
  2877.             Case 20
  2878.                Tmp1 = Tmp1 & "cd-rom" & vbCr
  2879.          End Select
  2880.       End If
  2881.    Next i
  2882.    Tmp1 = Tmp1 + vbCr
  2883.    cStartBasisTimer
  2884.    For i = 1 To Item
  2885.       j = cGetDriveType("C")
  2886.    Next i
  2887.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2888.    Label3.Caption = Tmp1
  2889. End Sub
  2890. Private Sub TestEncrypt()
  2891.    Dim Title      As String
  2892.    Dim Tmp        As String
  2893.    Dim Tmp1       As String
  2894.    Dim Tmp2       As String
  2895.    Dim Tmp3       As String
  2896.    Dim i          As Integer
  2897.    Dim j          As Integer
  2898.    Tmp3 = cToHexa(Format$(76543210))
  2899.    Tmp2 = "T2WIN-16"
  2900.    Tmp = Text1.Text
  2901.    For i = ENCRYPT_LEVEL_0 To ENCRYPT_LEVEL_4
  2902.       Tmp1 = Tmp1 & "Encrypt (level " & i & ") of [" & Tmp2 & "] with '?' is "
  2903.       Tmp1 = Tmp1 & "[" & cEncrypt(Tmp2, Tmp3, i) & "]" & vbCr & vbCr
  2904.    Next i
  2905.    cStartBasisTimer
  2906.    For i = 1 To Item
  2907.       Tmp2 = cEncrypt(Tmp2, Tmp1, ENCRYPT_LEVEL_3)
  2908.    Next i
  2909.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2910.    Label3.Caption = Tmp1
  2911. End Sub
  2912. Private Sub TestExpandTab()
  2913.    Dim Title      As String
  2914.    Dim Tmp        As String
  2915.    Dim Tmp1       As String
  2916.    Dim Tmp2       As String
  2917.    Dim i          As Integer
  2918.    Dim j          As Integer
  2919.    Tmp = "A" & Chr$(9) & "BC" & Chr$(9) & "DEF" & Chr$(9) & "GHIJ" & Chr$(9) & ""
  2920.    Title = "Expand tab (2 chars) into [" & Tmp & "] is " & vbCr & vbCr
  2921.    Tmp1 = Title & cExpandTab(Tmp, 2) & vbCr & vbCr
  2922.    Tmp = "A" & Chr$(9) & "BC" & Chr$(9) & "DEF" & Chr$(9) & "GHIJ" & Chr$(9) & ""
  2923.    Title = "Expand tab (4 chars) into [" & Tmp & "] is " & vbCr & vbCr
  2924.    Tmp1 = Tmp1 & Title & cExpandTab(Tmp, 4) & vbCr & vbCr
  2925.    cStartBasisTimer
  2926.    For i = 1 To Item
  2927.       Tmp2 = cExpandTab(Tmp, 3)
  2928.    Next i
  2929.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2930.    Label3.Caption = Tmp1
  2931. End Sub
  2932. Private Sub TestFileChangeChars()
  2933.    Dim Title      As String
  2934.    Dim Tmp        As String
  2935.    Dim Tmp1       As String
  2936.    Dim Tmp2       As String
  2937.    Dim Tmp3       As String
  2938.    Dim Tmp4       As String
  2939.    Dim i          As Integer
  2940.    Dim j          As Long
  2941.    Tmp1 = ""
  2942.    Tmp = "c:\autoexec.bat"
  2943.    Tmp2 = "c:\autoexec.tab"
  2944.    Tmp3 = "REM"
  2945.    Tmp4 = "rem"
  2946.    Tmp1 = Tmp1 & "File Copy " & Tmp & " to " & Tmp2 & " is " & cFileCopy(Tmp, Tmp2) & vbCr & vbCr
  2947.    Tmp1 = Tmp1 & "File Change Chars : '" & Tmp3 & "' -> '" & Tmp4 & "' in '" & Tmp2 & "' is " & cFileChangeChars(Tmp2, Tmp3, Tmp4, "c:\tmp.tmp") & vbCr & vbCr
  2948.    cStartBasisTimer
  2949.    For i = 1 To Item
  2950.       If ((i Mod 2) = 1) Then
  2951.          j = cFileChangeChars(Tmp2, Tmp3, Tmp4, "")
  2952.       Else
  2953.          j = cFileChangeChars(Tmp2, Tmp4, Tmp3, "")
  2954.       End If
  2955.    Next i
  2956.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & vbCr & vbCr
  2957.    Label3.Caption = Tmp1
  2958. End Sub
  2959. Private Sub TestFileCmp()
  2960.    Dim Title      As String
  2961.    Dim Tmp        As String
  2962.    Dim Tmp1       As String
  2963.    Dim Tmp2       As String
  2964.    Dim i          As Integer
  2965.    Dim j          As Integer
  2966.    Tmp1 = ""
  2967.    Tmp = "c:\autoexec.bat"
  2968.    Tmp2 = "c:\tmp\autoexec.bat"
  2969.    Tmp1 = Tmp1 & "Compare file attribute " & Tmp & " with " & Tmp2 & " is " & cCmpFileAttribute(Tmp, Tmp2) & vbCr
  2970.    Tmp1 = Tmp1 & "Compare file size " & Tmp & " with " & Tmp2 & " is " & cCmpFileSize(Tmp, Tmp2) & vbCr
  2971.    Tmp1 = Tmp1 & "Compare file time " & Tmp & " with " & Tmp2 & " is " & cCmpFileTime(Tmp, Tmp2) & vbCr
  2972.    Tmp1 = Tmp1 & "Compare file contents (case sensitive) " & Tmp & " with " & Tmp2 & " is " & cCmpFileContents(Tmp, Tmp2, True) & vbCr
  2973.    Tmp1 = Tmp1 & "Compare file contents (not sensitive) " & Tmp & " with " & Tmp2 & " is " & cCmpFileContents(Tmp, Tmp2, False) & vbCr & vbCr
  2974.    cStartBasisTimer
  2975.    For i = 1 To Item
  2976.       j = cCmpFileSize(Tmp, Tmp2)
  2977.    Next i
  2978.    Tmp1 = Tmp1 & "file size speed for " & Item & " = " & cReadBasisTimer() & " ms" & vbCr & vbCr
  2979.    cStartBasisTimer
  2980.    For i = 1 To Item
  2981.       j = cCmpFileContents(Tmp, Tmp2, True)
  2982.    Next i
  2983.    Tmp1 = Tmp1 & "file contents (cs) speed for " & Item & " = " & cReadBasisTimer() & " ms" & vbCr & vbCr
  2984.    cStartBasisTimer
  2985.    For i = 1 To Item
  2986.       j = cCmpFileContents(Tmp, Tmp2, False)
  2987.    Next i
  2988.    Tmp1 = Tmp1 & "file contents (ns) speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2989.    Label3.Caption = Tmp1
  2990. End Sub
  2991. Private Sub TestFileCompress()
  2992.    Dim Title      As String
  2993.    Dim Tmp        As String
  2994.    Dim Tmp1       As String
  2995.    Dim Tmp2       As String
  2996.    Dim Tmp3       As String
  2997.    Dim i          As Integer
  2998.    Dim j          As Long
  2999.    Tmp1 = ""
  3000.    Tmp = "c:\autoexec.bat"
  3001.    Tmp2 = "c:\autoexec.tb1"
  3002.    Tmp3 = "c:\autoexec.tb2"
  3003.    Tmp1 = Tmp1 & "File Compress '" & Tmp & "' to '" & Tmp2 & "' is " & cFileCompress(Tmp, Tmp2) & vbCr
  3004.    Tmp1 = Tmp1 & "File Expand '" & Tmp2 & "' to '" & Tmp3 & "' is " & cFileExpand(Tmp2, Tmp3) & vbCr
  3005.    Tmp1 = Tmp1 & "Compare file contents (not sensitive) '" & Tmp & "' with '" & Tmp3 & "' is " & IIf(cCmpFileContents(Tmp, Tmp3, False) = -1, "same", "not same") & vbCr & vbCr
  3006.    cStartBasisTimer
  3007.    For i = 1 To Item
  3008.       j = cFileCompress(Tmp, Tmp2)
  3009.    Next i
  3010.    j = cFileExpand(Tmp2, Tmp3)
  3011.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & vbCr & vbCr
  3012.    Label3.Caption = Tmp1
  3013. End Sub
  3014. Private Sub TestFileCompressTab()
  3015.    Dim Title      As String
  3016.    Dim Tmp        As String
  3017.    Dim Tmp1       As String
  3018.    Dim Tmp2       As String
  3019.    Dim Tmp3       As String
  3020.    Dim i          As Integer
  3021.    Dim j          As Long
  3022.    Tmp1 = ""
  3023.    Tmp = "c:\autoexec.bat"
  3024.    Tmp2 = "c:\autoexec.tb1"
  3025.    Tmp3 = "c:\autoexec.tb2"
  3026.    For i = 1 To 4
  3027.       Tmp1 = Tmp1 & "File CompressTab (" & i & " spaces = 1 tab) " & Tmp & " to " & Tmp2 & " is " & cFileCompressTab(Tmp, Tmp2, i) & vbCr
  3028.       Tmp1 = Tmp1 & "File ExpandTab (" & i & " spaces = 1 tab) " & Tmp2 & " to " & Tmp3 & " is " & cFileExpandTab(Tmp2, Tmp3, i) & vbCr
  3029.       Tmp1 = Tmp1 & "Compare file contents (not sensitive) '" & Tmp & "' with '" & Tmp3 & "' is " & IIf(cCmpFileContents(Tmp, Tmp3, False) = -1, "same", "not same") & vbCr & vbCr
  3030.    Next i
  3031.    cStartBasisTimer
  3032.    For i = 1 To Item
  3033.       j = cFileCompressTab(Tmp, Tmp2, 3)
  3034.    Next i
  3035.    j = cFileExpandTab(Tmp2, Tmp3, 3)
  3036.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & vbCr & vbCr
  3037.    Label3.Caption = Tmp1
  3038. End Sub
  3039. Private Sub TestFileCopy()
  3040.    Dim Title      As String
  3041.    Dim Tmp        As String
  3042.    Dim Tmp1       As String
  3043.    Dim Tmp2       As String
  3044.    Dim i          As Integer
  3045.    Dim j          As Long
  3046.    Tmp1 = ""
  3047.    Tmp = "c:\autoexec.bat"
  3048.    Tmp2 = "c:\autoexec.tab"
  3049.    Tmp1 = Tmp1 & "File Copy " & Tmp & " to " & Tmp2 & " is " & cFileCopy(Tmp, Tmp2) & vbCr & vbCr
  3050.    cStartBasisTimer
  3051.    For i = 1 To Item
  3052.       j = cFileCopy(Tmp, Tmp2)
  3053.    Next i
  3054.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & vbCr & vbCr
  3055.    Label3.Caption = Tmp1
  3056. End Sub
  3057. Private Sub TestFileCRC32()
  3058.    Dim Title      As String
  3059.    Dim Tmp        As String
  3060.    Dim Tmp1       As String
  3061.    Dim Tmp2       As String
  3062.    Dim i          As Integer
  3063.    Dim j          As Integer
  3064.    Dim k          As Long
  3065.    Tmp = "c:\config.sys"
  3066.    Title = "CRC32 for file '" & Tmp & "' is "
  3067.    Tmp1 = Tmp1 & Title & Hex$(cFileCRC32(Tmp, OPEN_MODE_BINARY)) & vbCr & vbCr
  3068.    Tmp = "c:\autoexec.bat"
  3069.    Title = "CRC32 for file '" & Tmp & "' is "
  3070.    Tmp1 = Tmp1 & Title & Hex$(cFileCRC32(Tmp, OPEN_MODE_BINARY)) & vbCr & vbCr
  3071.    Tmp = "c:\command.com"
  3072.    Title = "CRC32 for file '" & Tmp & "' is "
  3073.    Tmp1 = Tmp1 & Title & Hex$(cFileCRC32(Tmp, OPEN_MODE_BINARY)) & vbCr & vbCr
  3074.    cStartBasisTimer
  3075.    For i = 1 To ItemFile
  3076.       k = cFileCRC32(Tmp, OPEN_MODE_BINARY)
  3077.    Next i
  3078.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3079.    Label3.Caption = Tmp1
  3080. End Sub
  3081. Private Sub TestFileEncrypt()
  3082.    Dim Title      As String
  3083.    Dim Tmp        As String
  3084.    Dim Tmp1       As String
  3085.    Dim Tmp2       As String
  3086.    Dim Tmp3       As String
  3087.    Dim Tmp4       As String
  3088.    Dim i          As Integer
  3089.    Dim j          As Long
  3090.    Tmp1 = ""
  3091.    Tmp = "c:\autoexec.bat"
  3092.    Tmp2 = "c:\ac.tb1"
  3093.    Tmp3 = "c:\ac.tb2"
  3094.    Tmp4 = cToHexa(Format$(76543210))
  3095.    For i = ENCRYPT_LEVEL_0 To ENCRYPT_LEVEL_4
  3096.       Tmp1 = Tmp1 & "Encrypt (level " & i & ") '" & Tmp & "' with '?' to '" & Tmp2 & "' is " & cFileEncrypt(Tmp, Tmp2, Tmp4, i) & vbCr
  3097.       Tmp1 = Tmp1 & "Decrypt (level " & i & ") '" & Tmp2 & "' with '?' to '" & Tmp3 & "' is " & cFileDecrypt(Tmp2, Tmp3, Tmp4, i) & vbCr
  3098.       Tmp1 = Tmp1 & "Compare (ns) '" & Tmp & "' with '" & Tmp3 & "' is " & IIf(cCmpFileContents(Tmp, Tmp3, False) = -1, "same", "not same") & vbCr & vbCr
  3099.    Next i
  3100.    cStartBasisTimer
  3101.    For i = 1 To Item
  3102.       j = cFileEncrypt(Tmp, Tmp2, Tmp4, ENCRYPT_LEVEL_3)
  3103.    Next i
  3104.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & vbCr & vbCr
  3105.    Label3.Caption = Tmp1
  3106. End Sub
  3107. Private Sub TestFileFilter()
  3108.    Dim Title      As String
  3109.    Dim Tmp        As String
  3110.    Dim Tmp1       As String
  3111.    Dim Tmp2       As String
  3112.    Dim Tmp3       As String
  3113.    Dim i          As Integer
  3114.    Dim j          As Long
  3115.    Tmp1 = ""
  3116.    Tmp = "c:\autoexec.bat"
  3117.    Tmp2 = "c:\autoexec.tab"
  3118.    Tmp3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  3119.    Tmp3 = Tmp3 + LCase$(Tmp)
  3120.    Tmp1 = Tmp1 & "File Filter (A-Z, a-z) " & Tmp & " to " & Tmp2 & " is " & cFileFilter(Tmp, Tmp2, Tmp3) & vbCr & vbCr
  3121.    cStartBasisTimer
  3122.    For i = 1 To Item
  3123.       j = cFileFilter(Tmp, Tmp2, Tmp3)
  3124.    Next i
  3125.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & vbCr & vbCr
  3126.    Label3.Caption = Tmp1
  3127. End Sub
  3128. Private Sub TestFileFilterNot()
  3129.    Dim Title      As String
  3130.    Dim Tmp        As String
  3131.    Dim Tmp1       As String
  3132.    Dim Tmp2       As String
  3133.    Dim Tmp3       As String
  3134.    Dim i          As Integer
  3135.    Dim j          As Long
  3136.    Tmp1 = ""
  3137.    Tmp = "c:\autoexec.bat"
  3138.    Tmp2 = "c:\autoexec.tab"
  3139.    Tmp3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  3140.    Tmp3 = Tmp3 + LCase$(Tmp) + " =" + vbCr + Chr$(10)
  3141.    Tmp1 = Tmp1 & "File Filter Not in (A-Z, a-z, CR, LF, SPACE, =) " & Tmp & " to " & Tmp2 & " is " & cFileFilterNot(Tmp, Tmp2, Tmp3) & vbCr & vbCr
  3142.    cStartBasisTimer
  3143.    For i = 1 To Item
  3144.       j = cFileFilterNot(Tmp, Tmp2, Tmp3)
  3145.    Next i
  3146.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & vbCr & vbCr
  3147.    Label3.Caption = Tmp1
  3148. End Sub
  3149. Private Sub TestFileGetAttrib()
  3150.    Dim Title      As String
  3151.    Dim Tmp        As String
  3152.    Dim Tmp1       As String
  3153.    Dim Tmp2       As String
  3154.    Dim i          As Integer
  3155.    Dim j          As Integer
  3156.    Dim FileAttrib As FileAttributeType
  3157.    Tmp1 = ""
  3158.    Tmp = cFilesInDirectory("*.*", True)
  3159.    j = cFileGetAttrib(Tmp, FileAttrib)
  3160.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & vbCr
  3161.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & vbCr
  3162.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & vbCr
  3163.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.SubDir, " is SubDir", " is not SubDir") & vbCr
  3164.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & vbCr & vbCr
  3165.    Tmp = cSubDirectory("*.*", True)
  3166.    Tmp = cSubDirectory("*.*", False)
  3167.    Tmp = cSubDirectory("*.*", False)
  3168.    j = cFileGetAttrib(Tmp, FileAttrib)
  3169.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & vbCr
  3170.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & vbCr
  3171.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & vbCr
  3172.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.SubDir, " is SubDir", " is not SubDir") & vbCr
  3173.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & vbCr & vbCr
  3174.    cStartBasisTimer
  3175.    For i = 1 To Item
  3176.       j = cFileGetAttrib(Tmp, FileAttrib)
  3177.    Next i
  3178.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3179.    Label3.Caption = Tmp1
  3180. End Sub
  3181. Private Sub TestFileLineCount()
  3182.    Dim Title      As String
  3183.    Dim Tmp        As String
  3184.    Dim Tmp1       As String
  3185.    Dim Tmp2       As String
  3186.    Dim Tmp3       As String
  3187.    Dim i          As Integer
  3188.    Dim j          As Long
  3189.    Tmp1 = ""
  3190.    Tmp = "C:\AUTOEXEC.BAT"
  3191.    Tmp1 = Tmp1 & "Total lines in '" & Tmp & "' are " & cFileLineCount(Tmp) & vbCr & vbCr
  3192.    Tmp = "C:\CONFIG.SYS"
  3193.    Tmp1 = Tmp1 & "Total lines in '" & Tmp & "' are " & cFileLineCount(Tmp) & vbCr & vbCr
  3194.    cStartBasisTimer
  3195.    For i = 1 To Item
  3196.       j = cFileLineCount(Tmp)
  3197.    Next i
  3198.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & vbCr & vbCr
  3199.    Label3.Caption = Tmp1
  3200. End Sub
  3201. Private Sub TestFileMerge()
  3202.    Dim Title      As String
  3203.    Dim Tmp        As String
  3204.    Dim Tmp1       As String
  3205.    Dim Tmp2       As String
  3206.    Dim Tmp3       As String
  3207.    Dim i          As Integer
  3208.    Dim j          As Long
  3209.    Tmp1 = ""
  3210.    Tmp = "c:\autoexec.bat"
  3211.    Tmp2 = "c:\config.sys"
  3212.    Tmp3 = "c:\merge.byt"
  3213.    Tmp1 = Tmp1 & "File Merge '" & Tmp & "' and '" & Tmp2 & "' to '" & Tmp3 & "' is " & cFileMerge(Tmp, Tmp2, Tmp3) & vbCr & vbCr
  3214.    cStartBasisTimer
  3215.    For i = 1 To Item
  3216.       j = cFileMerge(Tmp, Tmp2, Tmp3)
  3217.    Next i
  3218.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & vbCr & vbCr
  3219.    Label3.Caption = Tmp1
  3220. End Sub
  3221. Private Sub TestFileMergeExt()
  3222.    Dim Title      As String
  3223.    Dim Tmp        As String
  3224.    Dim Tmp1       As String
  3225.    Dim Tmp3       As String
  3226.    Dim i          As Integer
  3227.    Dim j          As Long
  3228.    Dim r          As Integer
  3229.    Dim m1         As Integer
  3230.    Dim m2         As Integer
  3231.    Tmp1 = ""
  3232.    Tmp3 = "c:\mergeext.byt"
  3233.    m1 = 1
  3234.    m2 = 7
  3235.    ReDim FileArray(m1 To m2) As String
  3236.    ' initialization because we use ReDim without Global definition
  3237.    ' For i = m1 To m2
  3238.    '   FileArray(i).Contents = Space$(256)
  3239.    ' Next i
  3240.    r = cFilesInDirToArray("C:\*.*", A_ALL, FileArray())
  3241.    Tmp1 = "Reading the first 7 files in directory 'C:\*.*' into FileArray(" & m1 & " To " & m2 & ") is '" & r & "'" & Chr$(13)
  3242.    For i = m1 To m2
  3243.       FileArray(i) = "C:\" + FileArray(i)
  3244.       Tmp1 = Tmp1 & "   " & FileArray(i) & " (size : " & cFileSize(FileArray(i)) & ")" & Chr$(13)
  3245.    Next i
  3246.    Tmp1 = Tmp1 & Chr$(13)
  3247.    Tmp1 = Tmp1 & "FileMergeExt of the 7 files into '" & Tmp3 & "' is " & cFileMergeExt(FileArray(), Tmp3) & Chr$(13) & Chr$(13)
  3248.    cStartBasisTimer
  3249.    For i = 1 To Item
  3250.       j = cFileMergeExt(FileArray(), Tmp3)
  3251.    Next i
  3252.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3253.    Label3.Caption = Tmp1
  3254. End Sub
  3255. Private Sub TestFilePathExists()
  3256.    Dim Title      As String
  3257.    Dim Tmp        As String
  3258.    Dim Tmp1       As String
  3259.    Dim Tmp2       As String
  3260.    Dim i          As Integer
  3261.    Dim j          As Integer
  3262.    Tmp1 = "File t2win-16.dll " & IIf(cFilePathExists("t2win-16.dll") = True, "found", "not found") & vbCr & vbCr
  3263.    Tmp1 = Tmp1 & "Path \windows " & IIf(cFilePathExists("\windows") = True, "found", "not found") & vbCr & vbCr
  3264.    Tmp1 = Tmp1 & "Path \windows\wintime " & IIf(cFilePathExists("\windows\wintime") = True, "found", "not found") & vbCr & vbCr
  3265.    cStartBasisTimer
  3266.    For i = 1 To Item
  3267.       j = cFilePathExists("t2win-16.dll")
  3268.    Next i
  3269.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3270.    Label3.Caption = Tmp1
  3271. End Sub
  3272. Private Sub TestFileResetAllAttrib()
  3273.    Dim Title      As String
  3274.    Dim Tmp        As String
  3275.    Dim Tmp1       As String
  3276.    Dim Tmp2       As String
  3277.    Dim i          As Integer
  3278.    Dim j          As Integer
  3279.    Dim FileAttrib As FileAttributeType
  3280.    Tmp1 = ""
  3281.    Tmp = "TEST.DAT"
  3282.    Call CreateFile
  3283.    FileAttrib.Archive = False
  3284.    FileAttrib.Hidden = True
  3285.    FileAttrib.ReadOnly = True
  3286.    FileAttrib.System = True
  3287.    j = cFileResetAllAttrib(Tmp)
  3288.    j = cFileGetAttrib(Tmp, FileAttrib)
  3289.    Tmp1 = "File " & Tmp & " has been reset with" & vbCr
  3290.    Tmp1 = Tmp1 & " flag archive" & vbCr
  3291.    Tmp1 = Tmp1 & " flag hidden" & vbCr
  3292.    Tmp1 = Tmp1 & " flag read-only" & vbCr
  3293.    Tmp1 = Tmp1 & " flag system" & vbCr & vbCr
  3294.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & vbCr
  3295.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & vbCr
  3296.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & vbCr
  3297.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & vbCr & vbCr
  3298.    cStartBasisTimer
  3299.    For i = 1 To ItemFile
  3300.       j = cFileResetAllAttrib(Tmp)
  3301.    Next i
  3302.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3303.    Label3.Caption = Tmp1
  3304. End Sub
  3305. Private Sub TestFileResetArchive()
  3306.    Dim Title      As String
  3307.    Dim Tmp        As String
  3308.    Dim Tmp1       As String
  3309.    Dim Tmp2       As String
  3310.    Dim i          As Integer
  3311.    Dim j          As Integer
  3312.    Dim nArchive   As Integer
  3313.    Dim nHidden    As Integer
  3314.    Dim nReadOnly  As Integer
  3315.    Dim nSubDir    As Integer
  3316.    Dim nSystem    As Integer
  3317.    Dim FileAttrib As FileAttributeType
  3318.    Tmp1 = ""
  3319.    Tmp = "TEST.DAT"
  3320.    Call CreateFile
  3321.    j = cFileSetAllAttrib(Tmp)
  3322.    j = cFileResetArchive(Tmp)
  3323.    j = cFileGetAttrib(Tmp, FileAttrib)
  3324.    Tmp1 = "File " & Tmp & " has been reset with" & vbCr
  3325.    Tmp1 = Tmp1 & " flag archive" & vbCr & vbCr
  3326.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & vbCr
  3327.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & vbCr
  3328.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & vbCr
  3329.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & vbCr & vbCr
  3330.    cStartBasisTimer
  3331.    For i = 1 To ItemFile
  3332.       j = cFileResetArchive(Tmp)
  3333.    Next i
  3334.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3335.    Label3.Caption = Tmp1
  3336. End Sub
  3337. Private Sub TestFileResetHidden()
  3338.    Dim Title      As String
  3339.    Dim Tmp        As String
  3340.    Dim Tmp1       As String
  3341.    Dim Tmp2       As String
  3342.    Dim i          As Integer
  3343.    Dim j          As Integer
  3344.    Dim nArchive   As Integer
  3345.    Dim nHidden    As Integer
  3346.    Dim nReadOnly  As Integer
  3347.    Dim nSubDir    As Integer
  3348.    Dim nSystem    As Integer
  3349.    Dim FileAttrib As FileAttributeType
  3350.    Tmp1 = ""
  3351.    Tmp = "TEST.DAT"
  3352.    Call CreateFile
  3353.    j = cFileSetAllAttrib(Tmp)
  3354.    j = cFileResetHidden(Tmp)
  3355.    j = cFileGetAttrib(Tmp, FileAttrib)
  3356.    Tmp1 = "File " & Tmp & " has been reset with" & vbCr
  3357.    Tmp1 = Tmp1 & " flag hidden" & vbCr & vbCr
  3358.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & vbCr
  3359.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & vbCr
  3360.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & vbCr
  3361.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & vbCr & vbCr
  3362.    cStartBasisTimer
  3363.    For i = 1 To ItemFile
  3364.       j = cFileResetHidden(Tmp)
  3365.    Next i
  3366.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3367.    Label3.Caption = Tmp1
  3368. End Sub
  3369. Private Sub TestFileResetReadOnly()
  3370.    Dim Title      As String
  3371.    Dim Tmp        As String
  3372.    Dim Tmp1       As String
  3373.    Dim Tmp2       As String
  3374.    Dim i          As Integer
  3375.    Dim j          As Integer
  3376.    Dim FileAttrib As FileAttributeType
  3377.    Dim nArchive   As Integer
  3378.    Dim nHidden    As Integer
  3379.    Dim nReadOnly  As Integer
  3380.    Dim nSubDir    As Integer
  3381.    Dim nSystem    As Integer
  3382.    Tmp1 = ""
  3383.    Tmp = "TEST.DAT"
  3384.    Call CreateFile
  3385.    j = cFileSetAllAttrib(Tmp)
  3386.    j = cFileResetReadOnly(Tmp)
  3387.    j = cFileGetAttrib(Tmp, FileAttrib)
  3388.    Tmp1 = "File " & Tmp & " has been reset with" & vbCr
  3389.    Tmp1 = Tmp1 & " flag read-only" & vbCr & vbCr
  3390.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & vbCr
  3391.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & vbCr
  3392.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & vbCr
  3393.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & vbCr & vbCr
  3394.    cStartBasisTimer
  3395.    For i = 1 To ItemFile
  3396.       j = cFileResetReadOnly(Tmp)
  3397.    Next i
  3398.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3399.    Label3.Caption = Tmp1
  3400. End Sub
  3401. Private Sub TestFileResetSystem()
  3402.    Dim Title      As String
  3403.    Dim Tmp        As String
  3404.    Dim Tmp1       As String
  3405.    Dim Tmp2       As String
  3406.    Dim i          As Integer
  3407.    Dim j          As Integer
  3408.    Dim FileAttrib As FileAttributeType
  3409.    Tmp1 = ""
  3410.    Tmp = "TEST.DAT"
  3411.    Call CreateFile
  3412.    j = cFileSetAllAttrib(Tmp)
  3413.    j = cFileResetSystem(Tmp)
  3414.    j = cFileGetAttrib(Tmp, FileAttrib)
  3415.    Tmp1 = "File " & Tmp & " has been reset with" & vbCr
  3416.    Tmp1 = Tmp1 & " flag system" & vbCr & vbCr
  3417.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & vbCr
  3418.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & vbCr
  3419.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & vbCr
  3420.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & vbCr & vbCr
  3421.    cStartBasisTimer
  3422.    For i = 1 To ItemFile
  3423.       j = cFileResetSystem(Tmp)
  3424.    Next i
  3425.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3426.    Label3.Caption = Tmp1
  3427. End Sub
  3428. Private Sub TestFileS()
  3429.    Dim Title      As String
  3430.    Dim Tmp        As String
  3431.    Dim Tmp1       As String
  3432.    Dim Tmp2       As String
  3433.    Dim Tmp3       As String
  3434.    Dim Tmp4       As String
  3435.    Dim i          As Integer
  3436.    Dim j          As Long
  3437.    Tmp1 = ""
  3438.    Tmp = "c:\autoexec.bat"
  3439.    Tmp3 = "re"
  3440.    Tmp4 = "SET"
  3441.    Tmp1 = Tmp1 & "File Search (insensitive) : '" & Tmp3 & "' in '" & Tmp & "' is " & cFileSearch(Tmp, Tmp3, False) & vbCr & vbCr
  3442.    Tmp1 = Tmp1 & "File Search and Count (insensitive) : '" & Tmp3 & "' in '" & Tmp & "' is " & cFileSearchCount(Tmp, Tmp3, False) & vbCr & vbCr
  3443.    Tmp1 = Tmp1 & "File Search (insensitive) : '" & Tmp4 & "' in '" & Tmp & "' is " & cFileSearch(Tmp, Tmp4, False) & vbCr & vbCr
  3444.    Tmp1 = Tmp1 & "File Search and Count (insensitive) : '" & Tmp4 & "' in '" & Tmp & "' is " & cFileSearchCount(Tmp, Tmp4, False) & vbCr & vbCr
  3445.    Tmp1 = Tmp1 & "File Search (sensitive) : '" & Tmp3 & "' in '" & Tmp & "' is " & cFileSearch(Tmp, Tmp3, True) & vbCr & vbCr
  3446.    Tmp1 = Tmp1 & "File Search and Count (sensitive) : '" & Tmp3 & "' in '" & Tmp & "' is " & cFileSearchCount(Tmp, Tmp3, True) & vbCr & vbCr
  3447.    Tmp1 = Tmp1 & "File Search (sensitive) : '" & Tmp4 & "' in '" & Tmp & "' is " & cFileSearch(Tmp, Tmp4, True) & vbCr & vbCr
  3448.    Tmp1 = Tmp1 & "File Search and Count (sensitive) : '" & Tmp4 & "' in '" & Tmp & "' is " & cFileSearchCount(Tmp, Tmp4, True) & vbCr & vbCr
  3449.    cStartBasisTimer
  3450.    For i = 1 To Item
  3451.       If ((i Mod 2) = 1) Then
  3452.          j = cFileSearch(Tmp, Tmp3, False)
  3453.       Else
  3454.          j = cFileSearchCount(Tmp, Tmp3, False)
  3455.       End If
  3456.    Next i
  3457.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & vbCr & vbCr
  3458.    Label3.Caption = Tmp1
  3459. End Sub
  3460. Private Sub TestFileSetAllAttrib()
  3461.    Dim Title      As String
  3462.    Dim Tmp        As String
  3463.    Dim Tmp1       As String
  3464.    Dim Tmp2       As String
  3465.    Dim i          As Integer
  3466.    Dim j          As Integer
  3467.    Dim FileAttrib As FileAttributeType
  3468.    Tmp1 = ""
  3469.    Tmp = "TEST.DAT"
  3470.    Call CreateFile
  3471.    j = cFileSetAllAttrib(Tmp)
  3472.    j = cFileGetAttrib(Tmp, FileAttrib)
  3473.    Tmp1 = "File " & Tmp & " has been set with" & vbCr
  3474.    Tmp1 = Tmp1 & " flag archive" & vbCr
  3475.    Tmp1 = Tmp1 & " flag hidden" & vbCr
  3476.    Tmp1 = Tmp1 & " flag read-only" & vbCr
  3477.    Tmp1 = Tmp1 & " flag system" & vbCr & vbCr
  3478.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & vbCr
  3479.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & vbCr
  3480.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & vbCr
  3481.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & vbCr & vbCr
  3482.    cStartBasisTimer
  3483.    For i = 1 To ItemFile
  3484.       j = cFileSetAllAttrib(Tmp)
  3485.    Next i
  3486.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3487.    Label3.Caption = Tmp1
  3488. End Sub
  3489. Private Sub TestFileSetArchive()
  3490.    Dim Title      As String
  3491.    Dim Tmp        As String
  3492.    Dim Tmp1       As String
  3493.    Dim Tmp2       As String
  3494.    Dim i          As Integer
  3495.    Dim j          As Integer
  3496.    Dim FileAttrib As FileAttributeType
  3497.    Tmp1 = ""
  3498.    Tmp = "TEST.DAT"
  3499.    Call CreateFile
  3500.    j = cFileSetArchive(Tmp)
  3501.    j = cFileGetAttrib(Tmp, FileAttrib)
  3502.    Tmp1 = "File " & Tmp & " has been set with" & vbCr
  3503.    Tmp1 = Tmp1 & " flag archive" & vbCr & vbCr
  3504.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & vbCr
  3505.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & vbCr
  3506.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & vbCr
  3507.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & vbCr & vbCr
  3508.    cStartBasisTimer
  3509.    For i = 1 To ItemFile
  3510.       j = cFileSetArchive(Tmp)
  3511.    Next i
  3512.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3513.    Label3.Caption = Tmp1
  3514. End Sub
  3515. Private Sub TestFileSetAttrib()
  3516.    Dim Title      As String
  3517.    Dim Tmp        As String
  3518.    Dim Tmp1       As String
  3519.    Dim Tmp2       As String
  3520.    Dim i          As Integer
  3521.    Dim j          As Integer
  3522.    Dim FileAttrib As FileAttributeType
  3523.    Tmp1 = ""
  3524.    Tmp = "TEST.DAT"
  3525.    Call CreateFile
  3526.    FileAttrib.Archive = False
  3527.    FileAttrib.Hidden = True
  3528.    FileAttrib.ReadOnly = True
  3529.    FileAttrib.System = True
  3530.    j = cFileSetAttrib(Tmp, FileAttrib)
  3531.    j = cFileGetAttrib(Tmp, FileAttrib)
  3532.    Tmp1 = "File " & Tmp & " has been set with" & vbCr
  3533.    Tmp1 = Tmp1 & " flag hidden" & vbCr
  3534.    Tmp1 = Tmp1 & " flag read-only" & vbCr
  3535.    Tmp1 = Tmp1 & " flag system" & vbCr & vbCr
  3536.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & vbCr
  3537.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & vbCr
  3538.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & vbCr
  3539.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & vbCr & vbCr
  3540.    cStartBasisTimer
  3541.    For i = 1 To ItemFile
  3542.       j = cFileSetAttrib(Tmp, FileAttrib)
  3543.    Next i
  3544.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3545.    Label3.Caption = Tmp1
  3546. End Sub
  3547. Private Sub TestFileSetHidden()
  3548.    Dim Title      As String
  3549.    Dim Tmp        As String
  3550.    Dim Tmp1       As String
  3551.    Dim Tmp2       As String
  3552.    Dim i          As Integer
  3553.    Dim j          As Integer
  3554.    Dim FileAttrib As FileAttributeType
  3555.    Tmp1 = ""
  3556.    Tmp = "TEST.DAT"
  3557.    Call CreateFile
  3558.    j = cFileSetHidden(Tmp)
  3559.    j = cFileGetAttrib(Tmp, FileAttrib)
  3560.    Tmp1 = "File " & Tmp & " has been set with" & vbCr
  3561.    Tmp1 = Tmp1 & " flag hidden" & vbCr & vbCr
  3562.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & vbCr
  3563.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & vbCr
  3564.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & vbCr
  3565.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & vbCr & vbCr
  3566.    cStartBasisTimer
  3567.    For i = 1 To ItemFile
  3568.       j = cFileSetHidden(Tmp)
  3569.    Next i
  3570.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3571.    Label3.Caption = Tmp1
  3572. End Sub
  3573. Private Sub TestFileSetReadOnly()
  3574.    Dim Title      As String
  3575.    Dim Tmp        As String
  3576.    Dim Tmp1       As String
  3577.    Dim Tmp2       As String
  3578.    Dim i          As Integer
  3579.    Dim j          As Integer
  3580.    Dim FileAttrib As FileAttributeType
  3581.    Tmp1 = ""
  3582.    Tmp = "TEST.DAT"
  3583.    Call CreateFile
  3584.    j = cFileSetReadOnly(Tmp)
  3585.    j = cFileGetAttrib(Tmp, FileAttrib)
  3586.    Tmp1 = "File " & Tmp & " has been set with" & vbCr
  3587.    Tmp1 = Tmp1 & " flag read-only" & vbCr & vbCr
  3588.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & vbCr
  3589.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & vbCr
  3590.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & vbCr
  3591.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & vbCr & vbCr
  3592.    cStartBasisTimer
  3593.    For i = 1 To ItemFile
  3594.       j = cFileSetReadOnly(Tmp)
  3595.    Next i
  3596.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3597.    Label3.Caption = Tmp1
  3598. End Sub
  3599. Private Sub TestFileSetSystem()
  3600.    Dim Title      As String
  3601.    Dim Tmp        As String
  3602.    Dim Tmp1       As String
  3603.    Dim Tmp2       As String
  3604.    Dim i          As Integer
  3605.    Dim j          As Integer
  3606.    Dim FileAttrib As FileAttributeType
  3607.    Tmp1 = ""
  3608.    Tmp = "TEST.DAT"
  3609.    Call CreateFile
  3610.    j = cFileSetSystem(Tmp)
  3611.    j = cFileGetAttrib(Tmp, FileAttrib)
  3612.    Tmp1 = "File " & Tmp & " has been set with" & vbCr
  3613.    Tmp1 = Tmp1 & " flag system" & vbCr & vbCr
  3614.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & vbCr
  3615.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & vbCr
  3616.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & vbCr
  3617.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & vbCr & vbCr
  3618.    cStartBasisTimer
  3619.    For i = 1 To ItemFile
  3620.       j = cFileSetSystem(Tmp)
  3621.    Next i
  3622.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3623.    Label3.Caption = Tmp1
  3624. End Sub
  3625. Private Sub TestFilesInDirectory()
  3626.    Dim Title      As String
  3627.    Dim Tmp        As String
  3628.    Dim Tmp1       As String
  3629.    Dim Tmp2       As String
  3630.    Dim i          As Integer
  3631.    Dim j          As Integer
  3632.    Dim k          As Long
  3633.    Title = "The 10 first files in this directory are" & vbCr & vbCr
  3634.    Tmp1 = Title
  3635.    Tmp2 = cFilesInDirectory("*.*", True)
  3636.    For i = 1 To 10
  3637.       Tmp1 = Tmp1 & Tmp2 & vbCr
  3638.       Tmp2 = cFilesInDirectory("*.*", False)
  3639.    Next i
  3640.    Tmp1 = Tmp1 & vbCr
  3641.    cStartBasisTimer
  3642.    For i = 1 To Item
  3643.       Tmp = cFilesInDirectory("*.*", True)
  3644.    Next i
  3645.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3646.    Label3.Caption = Tmp1
  3647. End Sub
  3648. Private Sub TestFilesInDirOnDisk()
  3649.    Dim Title      As String
  3650.    Dim Tmp        As String
  3651.    Dim Tmp1       As String
  3652.    Dim Tmp2       As String
  3653.    Dim i          As Integer
  3654.    Dim j          As Integer
  3655.    Dim k          As Long
  3656.    j = cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_ALL)
  3657.    Tmp1 = "The files (any attributes) in 'C:\' are (" & j & ") see first list" & vbCr & vbCr
  3658.    j = cFileToListBox(List1.hWnd, "c:\test.tmp")
  3659.    j = cFilesInDirOnDisk("c:\test1.tmp", "c:\*.*", -A_ARCH)
  3660.    Tmp1 = Tmp1 & "The files (only archive, not other attribute) in 'C:\' are (" & j & ") see second list" & vbCr & vbCr
  3661.    j = cFileToListBox(List2.hWnd, "c:\test1.tmp")
  3662.    Tmp1 = Tmp1 & "Number of files (with at least one of the following attribute)" & vbCr & vbCr
  3663.    Tmp1 = Tmp1 & "Any : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_ALL) & vbCr
  3664.    Tmp1 = Tmp1 & "(N)ormal : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_NORMAL) & vbCr
  3665.    Tmp1 = Tmp1 & "(A)rchive, (N)ormal : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_NORMAL_ARCHIVE) & vbCr
  3666.    Tmp1 = Tmp1 & "(A)rchive : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_ARCH) & vbCr
  3667.    Tmp1 = Tmp1 & "(A)rchive, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_ARCH Or A_RDONLY) & vbCr
  3668.    Tmp1 = Tmp1 & "(S)ystem, (H)idden, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_SYSTEM Or A_HIDDEN Or A_RDONLY) & vbCr
  3669.    Tmp1 = Tmp1 & "(H)idden, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_HIDDEN Or A_RDONLY) & vbCr
  3670.    Tmp1 = Tmp1 & "(R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_RDONLY) & vbCr
  3671.    Tmp1 = Tmp1 & vbCr
  3672.    Tmp1 = Tmp1 & "Number of files (with exact attribute excluding all others)" & vbCr & vbCr
  3673.    Tmp1 = Tmp1 & "(N)ormal : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_NORMAL)) & vbCr
  3674.    Tmp1 = Tmp1 & "(A)rchive : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_ARCH)) & vbCr
  3675.    Tmp1 = Tmp1 & "(A)rchive, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_ARCH Or A_RDONLY)) & vbCr
  3676.    Tmp1 = Tmp1 & "(S)ystem, (H)idden, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_SYSTEM Or A_HIDDEN Or A_RDONLY)) & vbCr
  3677.    Tmp1 = Tmp1 & "(H)idden, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_HIDDEN Or A_RDONLY)) & vbCr
  3678.    Tmp1 = Tmp1 & "(R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_RDONLY)) & vbCr
  3679.    Tmp1 = Tmp1 & vbCr
  3680.    cStartBasisTimer
  3681.    For i = 1 To Item
  3682.       j = cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_ALL)
  3683.    Next i
  3684.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3685.    Label3.Caption = Tmp1
  3686. End Sub
  3687. Private Sub TestFilesInDirToArray()
  3688.    Dim Title      As String
  3689.    Dim Tmp        As String
  3690.    Dim Tmp1       As String
  3691.    Dim Tmp2       As String
  3692.    Dim i          As Long
  3693.    Dim r          As Integer
  3694.    Dim m1         As Integer
  3695.    Dim m2         As Integer
  3696.    m1 = -999
  3697.    m2 = 1000
  3698.    ReDim AD(m1 To m2) As String
  3699.    ' initialization because we use ReDim without Global definition
  3700.    'For i = m1 To m2
  3701.    '   AD(i) = Space$(256)
  3702.    'Next i
  3703.    r = cFilesInDirToArray("C:\*.*", A_ALL, AD())
  3704.    Tmp1 = "Reading directory 'C:\*.*' into AD(" & m1 & " To " & m2 & ") is '" & r & "'" & vbCr
  3705.    Tmp1 = Tmp1 & "   The 3 (on " & r & ") first files in array are : " & vbCr & vbCr
  3706.    For i = 0 To 2
  3707.       Tmp1 = Tmp1 & AD(m1 + i) & vbCr
  3708.    Next i
  3709.    Tmp1 = Tmp1 & vbCr
  3710.    Tmp1 = Tmp1 & "   The 3 (on " & r & ") last files in array are : " & vbCr & vbCr
  3711.    For i = 0 To 2
  3712.       Tmp1 = Tmp1 & AD(m1 + r - 1 - 2 + i) & vbCr
  3713.    Next i
  3714.    Tmp1 = Tmp1 & vbCr
  3715.    r = cArrayToListBox(List1.hWnd, AD())
  3716.    Tmp2 = cGetDefaultCurrentDir()
  3717.    r = cFilesInDirToArray("*.*", A_ALL, AD())
  3718.    Tmp1 = Tmp1 & "Reading directory '" & Tmp2 & "' into AD(" & m1 & " To " & m2 & ") is '" & r & "'" & vbCr
  3719.    Tmp1 = Tmp1 & "   The 3 (on " & r & ") first files in array are : " & vbCr & vbCr
  3720.    For i = 0 To 2
  3721.       Tmp1 = Tmp1 & AD(m1 + i) & vbCr
  3722.    Next i
  3723.    Tmp1 = Tmp1 & vbCr
  3724.    Tmp1 = Tmp1 & "   The 3 (on " & r & ") last files in array are : " & vbCr & vbCr
  3725.    For i = 0 To 2
  3726.       Tmp1 = Tmp1 & AD(m1 + r - 1 - 2 + i) & vbCr
  3727.    Next i
  3728.    r = cArrayToListBox(List2.hWnd, AD())
  3729.    cStartBasisTimer
  3730.    For i = 1 To Item
  3731.       r = cFilesInDirToArray("C:\*.*", A_ALL, AD())
  3732.    Next i
  3733.    Tmp1 = Tmp1 & vbCr & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3734.    Label3.Caption = Tmp1
  3735. End Sub
  3736. Private Sub TestFilesInfoInDir()
  3737.    Dim Title      As String
  3738.    Dim Tmp        As String
  3739.    Dim Tmp1       As String
  3740.    Dim Tmp2       As String
  3741.    Dim i          As Integer
  3742.    Dim j          As Integer
  3743.    Dim k          As Long
  3744.    Dim FI         As tagFILEINFO
  3745.    Title = "The 7 first files in the current directory '" & cGetDefaultCurrentDir() & "' are" & vbCr & vbCr
  3746.    Tmp1 = Title
  3747.    Tmp2 = cFilesInfoInDir("*.*", FI, True)
  3748.    For i = 1 To 7
  3749.       Tmp1 = Tmp1 & Tmp2 & ", " & FI.fSize & ", " & FI.fDate & ", " & FI.fTime & ", " & FI.fAttribute & vbCr
  3750.       Tmp2 = cFilesInfoInDir("*.*", FI, False)
  3751.    Next i
  3752.    Tmp1 = Tmp1 & vbCr
  3753.    cStartBasisTimer
  3754.    For i = 1 To Item
  3755.       Tmp = cFilesInfoInDir("*.*", FI, True)
  3756.    Next i
  3757.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3758.    Label3.Caption = Tmp1
  3759. End Sub
  3760. Private Sub TestFileSize()
  3761.    Dim Title      As String
  3762.    Dim Tmp        As String
  3763.    Dim Tmp1       As String
  3764.    Dim Tmp2       As String
  3765.    Dim i          As Integer
  3766.    Dim j          As Integer
  3767.    Dim k          As Long
  3768.    Tmp1 = "File size for t2win-16.dll is " & cFileSize("t2win-16.dll") & vbCr & vbCr
  3769.    Tmp1 = Tmp1 & "File size for Path \windows " & cFileSize("\windows") & vbCr & vbCr
  3770.    Tmp1 = Tmp1 & "File size for Path \windows\wintime " & cFileSize("\windows\wintime") & vbCr & vbCr
  3771.    cStartBasisTimer
  3772.    For i = 1 To Item
  3773.       k = cFileSize("t2win-16.dll")
  3774.    Next i
  3775.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3776.    Label3.Caption = Tmp1
  3777. End Sub
  3778. Private Sub TestFileSort(SortMethod As Integer, VarFix As Integer)
  3779.    Dim Title      As String
  3780.    Dim Tmp        As String
  3781.    Dim Tmp1       As String
  3782.    Dim Tmp2       As String
  3783.    Dim Tmp3       As String
  3784.    Dim i          As Integer
  3785.    Dim j          As Integer
  3786.    Dim n          As Integer
  3787.    Dim m          As Double
  3788.    Tmp = "c:\autoexec.bat"
  3789.    Tmp2 = "c:\ae" & Format$(SortMethod) & ".tab"
  3790.    Close #1
  3791.    Open Tmp For Input Shared As #1
  3792.    While Not EOF(1)
  3793.       Line Input #1, Tmp3
  3794.       List1.AddItem Tmp3
  3795.    Wend
  3796.    Close #1
  3797.    If (VarFix = False) Then
  3798.       j = cFileSort("c:\autoexec.bat", Tmp2, SortMethod, -1, -1, -1, n)
  3799.    Else
  3800.       'j = cFileSort("c:\autoexec.bat", Tmp2, SortMethod, 20, 0, 10, n)
  3801.       j = cFileSort("c:\tmp\_dat_hr.Dat", "c:\tmp\tmp" & SortMethod & ".tmp", SortMethod, 50, 0, 11, n)
  3802.    End If
  3803.    Close #1
  3804.    Open Tmp2 For Input Shared As #1
  3805.    While Not EOF(1)
  3806.       Line Input #1, Tmp3
  3807.       List2.AddItem Tmp3
  3808.    Wend
  3809.    Close #1
  3810.    Select Case SortMethod
  3811.       Case (SORT_ASCENDING + SORT_CASE_SENSITIVE):
  3812.          Tmp1 = Tmp1 + "Sort '" & Tmp & "' into '" & Tmp2 & "' in ASC and CS is '" & j & "' and records are '" & n & "'"
  3813.       Case (SORT_DESCENDING + SORT_CASE_SENSITIVE):
  3814.          Tmp1 = Tmp1 + "Sort '" & Tmp & "' into '" & Tmp2 & "' in DSC and CS is '" & j & "' and records are '" & n & "'"
  3815.       Case (SORT_ASCENDING + SORT_CASE_INSENSITIVE):
  3816.          Tmp1 = Tmp1 + "Sort '" & Tmp & "' into '" & Tmp2 & "' in ASC and NS is '" & j & "' and records are '" & n & "'"
  3817.       Case (SORT_DESCENDING + SORT_CASE_INSENSITIVE):
  3818.          Tmp1 = Tmp1 + "Sort '" & Tmp & "' into '" & Tmp2 & "' in DSC and NS is '" & j & "' and records are '" & n & "'"
  3819.    End Select
  3820.    Tmp1 = Tmp1 & vbCr & vbCr
  3821.    cStartBasisTimer
  3822.    For i = 1 To ItemFile
  3823.       j = cFileSort(Tmp, Tmp2, SortMethod, -1, -1, -1, n)
  3824.       DoEvents
  3825.    Next i
  3826.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3827.    Label3.Caption = Tmp1
  3828. End Sub
  3829. Private Sub TestFileSR()
  3830.    Dim Title      As String
  3831.    Dim Tmp        As String
  3832.    Dim Tmp1       As String
  3833.    Dim Tmp2       As String
  3834.    Dim Tmp3       As String
  3835.    Dim Tmp4       As String
  3836.    Dim i          As Integer
  3837.    Dim j          As Long
  3838.    Tmp1 = ""
  3839.    Tmp = "c:\autoexec.bat"
  3840.    Tmp2 = "c:\autoexec.tab"
  3841.    Tmp3 = "SET "
  3842.    Tmp4 = "rem SET "
  3843.    Tmp1 = Tmp1 & "File Copy " & Tmp & " to " & Tmp2 & " is " & cFileCopy(Tmp, Tmp2) & vbCr & vbCr
  3844.    Tmp1 = Tmp1 & "File Search-Replace (insensitive) : '" & Tmp3 & "' -> '" & Tmp4 & "' in '" & Tmp2 & "' is " & cFileSearchAndReplace(Tmp2, Tmp3, Tmp4, "c:\tmp.tmp", False) & vbCr & vbCr
  3845.    Tmp1 = Tmp1 & "File Search-Replace (sensitive) : '" & Tmp4 & "' -> '" & Tmp3 & "' in '" & Tmp2 & "' is " & cFileSearchAndReplace(Tmp2, Tmp4, Tmp3, "c:\tmp.tmp", True) & vbCr & vbCr
  3846.    Tmp1 = Tmp1 & "Compare file contents (insensitive) " & Tmp2 & " with " & Tmp & " is " & IIf(cCmpFileContents(Tmp2, Tmp, False) = True, "same", "not same") & vbCr & vbCr
  3847.    cStartBasisTimer
  3848.    For i = 1 To Item
  3849.       If ((i Mod 2) = 1) Then
  3850.          j = cFileSearchAndReplace(Tmp2, Tmp3, Tmp4, "", True)
  3851.       Else
  3852.          j = cFileSearchAndReplace(Tmp2, Tmp4, Tmp3, "", True)
  3853.       End If
  3854.    Next i
  3855.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & vbCr & vbCr
  3856.    Label3.Caption = Tmp1
  3857. End Sub
  3858. Private Sub TestFilesSize()
  3859.    Dim Title      As String
  3860.    Dim Tmp        As String
  3861.    Dim Tmp1       As String
  3862.    Dim Tmp2       As String
  3863.    Dim i          As Integer
  3864.    Dim j          As Integer
  3865.    Dim k          As Long
  3866.    Dim Size1      As Double
  3867.    Dim Size2      As Double
  3868.    Tmp1 = ""
  3869.    Tmp1 = Tmp1 & "Size of files c:\*.* is " & cFilesSize("c:\*.*") & vbCr
  3870.    Tmp1 = Tmp1 & "Size of files c:\*.bat is " & cFilesSize("c:\*.bat") & vbCr
  3871.    Tmp1 = Tmp1 & "Size of files c:\*.sys is " & cFilesSize("c:\*.sys") & vbCr
  3872.    Tmp1 = Tmp1 & "Size of files c:\*.com is " & cFilesSize("c:\*.com") & vbCr
  3873.    Tmp1 = Tmp1 & vbCr
  3874.    Tmp1 = Tmp1 & "Size of files c:\*.* on disk is " & cFilesSizeOnDisk("c:\*.*") & vbCr
  3875.    Tmp1 = Tmp1 & "Size of files c:\*.bat on disk is " & cFilesSizeOnDisk("c:\*.bat") & vbCr
  3876.    Tmp1 = Tmp1 & "Size of files c:\*.sys on disk is " & cFilesSizeOnDisk("c:\*.sys") & vbCr
  3877.    Tmp1 = Tmp1 & "Size of files c:\*.com on disk is " & cFilesSizeOnDisk("c:\*.com") & vbCr
  3878.    Tmp1 = Tmp1 & vbCr
  3879.    Tmp1 = Tmp1 & "Slack of files c:\*.* on disk is " & cFilesSlack("c:\*.*", Size1, Size2) & " %" & vbCr
  3880.    Tmp1 = Tmp1 & "Slack of files c:\*.bat on disk is " & cFilesSlack("c:\*.bat", Size1, Size2) & " %" & vbCr
  3881.    Tmp1 = Tmp1 & "Slack of files c:\*.sys on disk is " & cFilesSlack("c:\*.sys", Size1, Size2) & " %" & vbCr
  3882.    Tmp1 = Tmp1 & "Slack of files c:\*.com on disk is " & cFilesSlack("c:\*.com", Size1, Size2) & " %" & vbCr
  3883.    cStartBasisTimer
  3884.    For i = 1 To 10
  3885.       k = cFilesSize("c:\*.*")
  3886.    Next i
  3887.    Tmp1 = Tmp1 & "speed for " & 10 & " = " & cReadBasisTimer() & " ms"
  3888.    Label3.Caption = Tmp1
  3889. End Sub
  3890. Private Sub TestFileStatictics()
  3891.    Dim Title      As String
  3892.    Dim Tmp        As String
  3893.    Dim Tmp1       As String
  3894.    Dim Tmp2       As String
  3895.    Dim Tmp3       As String
  3896.    Dim Tmp4       As String
  3897.    Dim i          As Integer
  3898.    Dim j          As Long
  3899.    Dim nL         As Long
  3900.    Dim nW         As Long
  3901.    Dim nC         As Long
  3902.    Tmp1 = ""
  3903.    Tmp = "c:\autoexec.bat"
  3904.    Tmp1 = Tmp1 & "File statictics for '" & Tmp & "' is " & cFileStatistics(Tmp, nL, nW, nC) & vbCr
  3905.    Tmp1 = Tmp1 & "number of lines : " & nL & vbCr
  3906.    Tmp1 = Tmp1 & "number of words : " & nW & vbCr
  3907.    Tmp1 = Tmp1 & "number of chars : " & nC & vbCr & vbCr
  3908.    Tmp = "c:\config.sys"
  3909.    Tmp1 = Tmp1 & "File statictics for '" & Tmp & "' is " & cFileStatistics(Tmp, nL, nW, nC) & vbCr
  3910.    Tmp1 = Tmp1 & "number of lines : " & nL & vbCr
  3911.    Tmp1 = Tmp1 & "number of words : " & nW & vbCr
  3912.    Tmp1 = Tmp1 & "number of chars : " & nC & vbCr & vbCr
  3913.    cStartBasisTimer
  3914.    For i = 1 To Item
  3915.       j = cFileStatistics(Tmp, nL, nW, nC)
  3916.    Next i
  3917.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & vbCr & vbCr
  3918.    Label3.Caption = Tmp1
  3919. End Sub
  3920. Private Sub TestFileStatistic()
  3921.    Dim Title      As String
  3922.    Dim Tmp        As String
  3923.    Dim Tmp1       As String
  3924.    Dim Tmp2       As String
  3925.    Dim i          As Integer
  3926.    Dim j          As Integer
  3927.    Dim k          As Long
  3928.    Tmp1 = "File drive for t2win-16.dll is " & cFileDrive("t2win-16.dll") & vbCr & vbCr
  3929.    Tmp1 = Tmp1 & "File last time modified for t2win-16.dll is " & cFileLastTimeModified("t2win-16.dll") & vbCr & vbCr
  3930.    Tmp1 = Tmp1 & "File last date modified for t2win-16.dll is " & cFileLastDateModified("t2win-16.dll") & vbCr & vbCr
  3931.    cStartBasisTimer
  3932.    For i = 1 To ItemFile
  3933.       Tmp = cFileDrive("t2win-16.dll")
  3934.    Next i
  3935.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3936.    Label3.Caption = Tmp1
  3937. End Sub
  3938. Private Sub TestFileToX()
  3939.    Dim Title      As String
  3940.    Dim Tmp        As String
  3941.    Dim Tmp1       As String
  3942.    Dim Tmp2       As String
  3943.    Dim Tmp3       As String
  3944.    Dim i          As Integer
  3945.    Dim j          As Long
  3946.    Tmp1 = ""
  3947.    Tmp = "c:\autoexec.bat"
  3948.    Tmp2 = "c:\autoexec.lwr"
  3949.    Tmp3 = "c:\autoexec.upr"
  3950.    Tmp1 = Tmp1 & "File to lower '" & Tmp & "' to '" & Tmp2 & "' is " & cFileToLower(Tmp, Tmp2) & vbCr & vbCr
  3951.    Tmp1 = Tmp1 & "File to upper '" & Tmp & "' to '" & Tmp3 & "' is " & cFileToUpper(Tmp, Tmp3) & vbCr & vbCr
  3952.    cStartBasisTimer
  3953.    For i = 1 To Item
  3954.       j = cFileToLower(Tmp, Tmp2)
  3955.    Next i
  3956.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & vbCr & vbCr
  3957.    Label3.Caption = Tmp1
  3958. End Sub
  3959. Private Sub TestFileVersion()
  3960.    Dim Title      As String
  3961.    Dim Tmp        As String
  3962.    Dim Tmp1       As String
  3963.    Dim Tmp2       As String
  3964.    Dim i          As Integer
  3965.    Dim j          As Integer
  3966.    Dim k          As Long
  3967.    Dim status                 As Integer
  3968.    Tmp = cGetSystemDirectory() & "\krnl386.exe"
  3969.    Tmp1 = Tmp1 & "File Version for '" & Tmp & "' is " & vbCr
  3970.    For i = VER_VERSION_PRODUCT To VER_PRODUCT_VERSION
  3971.       Tmp1 = Tmp1 & "   " & i & " = " & cGetFileVersion(Tmp, i) & vbCr
  3972.    Next i
  3973.    Tmp = cGetSystemDirectory() & "\t2win-16.dll"
  3974.    Tmp1 = Tmp1 & "File Version for '" & Tmp & "' is " & vbCr
  3975.    For i = VER_VERSION_PRODUCT To VER_PRODUCT_VERSION
  3976.       Tmp1 = Tmp1 & "   " & i & " = " & cGetFileVersion(Tmp, i) & vbCr
  3977.    Next i
  3978.    cStartBasisTimer
  3979.    For i = 1 To ItemFile
  3980.       Tmp = cGetFileVersion(Tmp, -1)
  3981.    Next i
  3982.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3983.    Label3.Caption = Tmp1
  3984. End Sub
  3985. Private Sub TestFileVersionInfo()
  3986.    Dim Title      As String
  3987.    Dim Tmp        As String
  3988.    Dim Tmp1       As String
  3989.    Dim Tmp2       As String
  3990.    Dim i          As Integer
  3991.    Dim j          As Integer
  3992.    Dim k          As Long
  3993.    Dim status                 As Integer
  3994.    Dim FILEVERSIONINFO     As tagFILEVERSIONINFO
  3995.    Tmp = cGetSystemDirectory() & "\krnl386.exe"
  3996.    Tmp1 = Tmp1 & "File Version Information for '" & Tmp & "' is " & vbCr
  3997.    status = cGetFileVersionInfo(Tmp, FILEVERSIONINFO)
  3998.    Tmp1 = Tmp1 & "   VersionProduct = " & FILEVERSIONINFO.VersionProduct & vbCr
  3999.    Tmp1 = Tmp1 & "   FileDescription = " & FILEVERSIONINFO.FileDescription & vbCr
  4000.    Tmp1 = Tmp1 & "   FileVersion = " & FILEVERSIONINFO.FileVersion & vbCr
  4001.    Tmp1 = Tmp1 & "   InternalName = " & FILEVERSIONINFO.InternalName & vbCr
  4002.    Tmp1 = Tmp1 & "   LegalCopyright = " & FILEVERSIONINFO.LegalCopyright & vbCr
  4003.    Tmp1 = Tmp1 & "   LegalTrademarks = " & FILEVERSIONINFO.LegalTrademarks & vbCr
  4004.    Tmp1 = Tmp1 & "   Comments = " & FILEVERSIONINFO.Comments & vbCr
  4005.    Tmp1 = Tmp1 & "   ProductName = " & FILEVERSIONINFO.ProductName & vbCr
  4006.    Tmp1 = Tmp1 & "   ProductVersion = " & FILEVERSIONINFO.ProductVersion & vbCr & vbCr
  4007.    Tmp = cGetSystemDirectory() & "\t2win-16.dll"
  4008.    Tmp1 = Tmp1 & "File Version Information for '" & Tmp & "' is " & vbCr
  4009.    status = cGetFileVersionInfo(Tmp, FILEVERSIONINFO)
  4010.    Tmp1 = Tmp1 & "   VersionProduct = " & FILEVERSIONINFO.VersionProduct & vbCr
  4011.    Tmp1 = Tmp1 & "   FileDescription = " & FILEVERSIONINFO.FileDescription & vbCr
  4012.    Tmp1 = Tmp1 & "   FileVersion = " & FILEVERSIONINFO.FileVersion & vbCr
  4013.    Tmp1 = Tmp1 & "   InternalName = " & FILEVERSIONINFO.InternalName & vbCr
  4014.    Tmp1 = Tmp1 & "   LegalCopyright = " & FILEVERSIONINFO.LegalCopyright & vbCr
  4015.    Tmp1 = Tmp1 & "   LegalTrademarks = " & FILEVERSIONINFO.LegalTrademarks & vbCr
  4016.    Tmp1 = Tmp1 & "   Comments = " & FILEVERSIONINFO.Comments & vbCr
  4017.    Tmp1 = Tmp1 & "   ProductName = " & FILEVERSIONINFO.ProductName & vbCr
  4018.    Tmp1 = Tmp1 & "   ProductVersion = " & FILEVERSIONINFO.ProductVersion & vbCr & vbCr
  4019.    cStartBasisTimer
  4020.    For i = 1 To ItemFile
  4021.       status = cGetFileVersionInfo(Tmp, FILEVERSIONINFO)
  4022.    Next i
  4023.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4024.    Label3.Caption = Tmp1
  4025. End Sub
  4026. Private Sub TestFill()
  4027.    Dim Title      As String
  4028.    Dim Tmp        As String
  4029.    Dim Tmp1       As String
  4030.    Dim Tmp2       As String
  4031.    Dim i          As Integer
  4032.    Dim j          As Integer
  4033.    Tmp = Text1.Text
  4034.    Title = "Fill of [" & Tmp & "] with [*=] is "
  4035.    Call cFill(Tmp, "*=")
  4036.    Tmp1 = Title & Tmp & vbCr & vbCr
  4037.    cStartBasisTimer
  4038.    For i = 1 To Item
  4039.       Call cFill(Tmp, "=*")
  4040.    Next i
  4041.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4042.    Label3.Caption = Tmp1
  4043. End Sub
  4044. Private Sub TestFillI()
  4045.    Dim Title      As String
  4046.    Dim Tmp        As String
  4047.    Dim Tmp1       As String
  4048.    Dim Tmp2       As String
  4049.    Dim i          As Integer
  4050.    Dim j          As Integer
  4051.    Dim m          As Double
  4052.    ReDim array(ItemMean) As Integer
  4053.    Randomize Timer
  4054.    For i = LBound(array) To UBound(array)
  4055.       array(i) = 0
  4056.       List1.AddItem "" & array(i)
  4057.    Next i
  4058.    j = cFillI(array(), 1)
  4059.    For i = LBound(array) To UBound(array)
  4060.       List2.AddItem "" & array(i)
  4061.    Next i
  4062.    Tmp1 = Tmp1 & "Fill 1 to element 1 of an integer array is : " & array(1) & vbCr & vbCr
  4063.    Tmp1 = Tmp1 & "Fill 1 to element " & ItemMean & " of an integer array is : " & array(ItemMean) & vbCr & vbCr
  4064.    cStartBasisTimer
  4065.    For i = 1 To ItemFile
  4066.       j = cFillI(array(), 1)
  4067.    Next i
  4068.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4069.    Label3.Caption = Tmp1
  4070. End Sub
  4071. Private Sub TestFillIncrI()
  4072.    Dim Title      As String
  4073.    Dim Tmp        As String
  4074.    Dim Tmp1       As String
  4075.    Dim Tmp2       As String
  4076.    Dim i          As Integer
  4077.    Dim j          As Integer
  4078.    Dim m          As Double
  4079.    ReDim array(ItemMean) As Integer
  4080.    Randomize Timer
  4081.    For i = LBound(array) To UBound(array)
  4082.       array(i) = 0
  4083.       List1.AddItem "" & array(i)
  4084.    Next i
  4085.    j = cFillIncrI(array(), -2, 3)
  4086.    For i = LBound(array) To UBound(array)
  4087.       List2.AddItem "" & array(i)
  4088.    Next i
  4089.    Tmp1 = Tmp1 & "Fill -2 by increment 3 to element 1 of an integer array is : " & array(1) & vbCr & vbCr
  4090.    Tmp1 = Tmp1 & "Fill -2 by increment 3 to element " & ItemMean & " of an integer array is : " & array(ItemMean) & vbCr & vbCr
  4091.    cStartBasisTimer
  4092.    For i = 1 To ItemFile
  4093.       j = cFillIncrI(array(), 1, 3)
  4094.    Next i
  4095.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4096.    Label3.Caption = Tmp1
  4097. End Sub
  4098. Private Sub TestFilterBlocks()
  4099.    Dim Title      As String
  4100.    Dim Tmp        As String
  4101.    Dim Tmp1       As String
  4102.    Dim Tmp2       As String
  4103.    Dim i          As Integer
  4104.    Dim j          As Integer
  4105.    Tmp = Text1.Text
  4106.    Title = "Filter blocks between '/' and '/' in [" & Tmp & "] is " & vbCr & vbCr
  4107.    Tmp1 = Title & cFilterBlocks(Tmp, "//") & vbCr & vbCr
  4108.    Title = "Filter blocks between 'B' and 'I' in [" & Tmp & "] is " & vbCr & vbCr
  4109.    Tmp1 = Tmp1 & Title & cFilterBlocks(Tmp, "BI") & vbCr & vbCr
  4110.    cStartBasisTimer
  4111.    For i = 1 To Item
  4112.       Tmp2 = cFilterBlocks(Tmp, "//")
  4113.    Next i
  4114.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4115.    Label3.Caption = Tmp1
  4116. End Sub
  4117. Private Sub TestFilterChars()
  4118.    Dim Title      As String
  4119.    Dim Tmp        As String
  4120.    Dim Tmp1       As String
  4121.    Dim Tmp2       As String
  4122.    Dim i          As Integer
  4123.    Dim j          As Integer
  4124.    Tmp = Text1.Text
  4125.    Title = "Filter 'B','/' in [" & Tmp & "] is "
  4126.    Tmp1 = Title & cFilterChars(Tmp, "B/") & vbCr & vbCr
  4127.    cStartBasisTimer
  4128.    For i = 1 To Item
  4129.       Tmp2 = cFilterChars(Tmp, "B/")
  4130.    Next i
  4131.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4132.    Label3.Caption = Tmp1
  4133. End Sub
  4134. Private Sub TestFindBitReset()
  4135.    Dim Title      As String
  4136.    Dim Tmp        As String
  4137.    Dim Tmp1       As String
  4138.    Dim Tmp2       As String
  4139.    Dim i          As Integer
  4140.    Dim j          As Integer
  4141.    Tmp = Text1.Text
  4142.    Tmp1 = "The following bits on '" & Tmp & "' are not Set (False) " & vbCr & vbCr
  4143.    j = True
  4144.    Do
  4145.       j = cFindBitReset(Tmp, j)
  4146.       If (j <> True) Then Tmp1 = Tmp1 & j & ", "
  4147.    Loop Until (j = True)
  4148.    Tmp1 = Left$(Tmp1, Len(Tmp1) - 1)
  4149.    Tmp1 = Tmp1 & vbCr & vbCr
  4150.    j = 0
  4151.    cStartBasisTimer
  4152.    For i = 1 To Item
  4153.       j = cFindBitReset(Tmp, j)
  4154.    Next i
  4155.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4156.    Label3.Caption = Tmp1
  4157. End Sub
  4158. Private Sub TestFindBitSet()
  4159.    Dim Title      As String
  4160.    Dim Tmp        As String
  4161.    Dim Tmp1       As String
  4162.    Dim Tmp2       As String
  4163.    Dim i          As Integer
  4164.    Dim j          As Integer
  4165.    Tmp = Text1.Text
  4166.    Tmp1 = "The following bits on '" & Tmp & "' are Set (True) " & vbCr & vbCr
  4167.    j = True
  4168.    Do
  4169.       j = cFindBitSet(Tmp, j)
  4170.       If (j <> True) Then Tmp1 = Tmp1 & j & ", "
  4171.    Loop Until (j = True)
  4172.    Tmp1 = Left$(Tmp1, Len(Tmp1) - 1)
  4173.    Tmp1 = Tmp1 & vbCr & vbCr
  4174.    j = 0
  4175.    cStartBasisTimer
  4176.    For i = 1 To Item
  4177.       j = cFindBitSet(Tmp, j)
  4178.    Next i
  4179.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4180.    Label3.Caption = Tmp1
  4181. End Sub
  4182. Private Sub TestFindFileInEnv()
  4183.    Dim Title      As String
  4184.    Dim Tmp        As String
  4185.    Dim Tmp1       As String
  4186.    Dim Tmp2       As String
  4187.    Dim i          As Integer
  4188.    Dim j          As Integer
  4189.    j = cFindFileInEnv("win.com", "windir")
  4190.    Tmp1 = "The file 'win.com' is " & IIf(j, "found", "not found") & " in the WINDIR" & vbCr & vbCr
  4191.    cStartBasisTimer
  4192.    For i = 1 To ItemFile
  4193.       j = cFindFileInEnv("win.com", "windir")
  4194.    Next i
  4195.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4196.    Label3.Caption = Tmp1
  4197. End Sub
  4198. Private Sub TestFindFileInPath()
  4199.    Dim Title      As String
  4200.    Dim Tmp        As String
  4201.    Dim Tmp1       As String
  4202.    Dim Tmp2       As String
  4203.    Dim i          As Integer
  4204.    Dim j          As Integer
  4205.    j = cFindFileInPath("win.com")
  4206.    Tmp1 = "The file 'win.com' is " & IIf(j, "found", "not found") & " in the PATH" & vbCr & vbCr
  4207.    cStartBasisTimer
  4208.    For i = 1 To ItemFile
  4209.       j = cFindFileInPath("win.com")
  4210.    Next i
  4211.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4212.    Label3.Caption = Tmp1
  4213. End Sub
  4214. Private Sub TestFloppyInfo()
  4215.    Dim Title      As String
  4216.    Dim Tmp        As String
  4217.    Dim Tmp1       As String
  4218.    Dim Tmp2       As String
  4219.    Dim i          As Integer
  4220.    Dim j          As Integer
  4221.    Dim nHds       As Integer
  4222.    Dim nCyls      As Integer
  4223.    Dim nSecs      As Integer
  4224.    Tmp1 = ""
  4225.    For i = 1 To 3
  4226.       j = cFloppyInfo(Chr$(64 + i), nHds, nCyls, nSecs)
  4227.       Tmp1 = Tmp1 & "'" & Chr$(64 + i) & ":' is " & j & " (" & nHds & "," & nCyls & "," & nSecs & ")" & vbCr
  4228.    Next i
  4229.    Tmp1 = Tmp1 + vbCr
  4230.    cStartBasisTimer
  4231.    For i = 1 To Item
  4232.       j = cFloppyInfo("A", nHds, nCyls, nSecs)
  4233.    Next i
  4234.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4235.    Label3.Caption = Tmp1
  4236. End Sub
  4237. Private Sub TestFraction()
  4238.    Dim Title      As String
  4239.    Dim Tmp        As String
  4240.    Dim Tmp1       As String
  4241.    Dim Tmp2       As String
  4242.    Dim i          As Integer
  4243.    Dim v          As Double
  4244.    Dim n          As Double
  4245.    Dim p          As Double
  4246.    Dim q          As Double
  4247.    Dim e          As Integer
  4248.    Tmp1 = "Determining fraction part (numerator/denominator) for the following value " & vbCr & vbCr
  4249.    n = 0.75
  4250.    v = cFraction(n, p, q)
  4251.    Tmp1 = Tmp1 & n & " is " & p & " / " & q & vbCr
  4252.    Tmp1 = Tmp1 & "   value is " & v & vbCr & vbCr
  4253.    n = 4.12
  4254.    v = cFraction(n, p, q)
  4255.    Tmp1 = Tmp1 & n & " is " & p & " / " & q & vbCr
  4256.    Tmp1 = Tmp1 & "   value is " & v & vbCr & vbCr
  4257.    n = 365.25
  4258.    v = cFraction(n, p, q)
  4259.    Tmp1 = Tmp1 & n & " is " & p & " / " & q & vbCr
  4260.    Tmp1 = Tmp1 & "   value is " & v & vbCr & vbCr
  4261.    n = 3.14
  4262.    v = cFraction(n, p, q)
  4263.    Tmp1 = Tmp1 & n & " is " & p & " / " & q & vbCr
  4264.    Tmp1 = Tmp1 & "   value is " & v & vbCr & vbCr
  4265.    n = 3.14159
  4266.    v = cFraction(n, p, q)
  4267.    Tmp1 = Tmp1 & n & " is " & p & " / " & q & vbCr
  4268.    Tmp1 = Tmp1 & "   value is " & v & vbCr & vbCr
  4269.    n = 3.14159265
  4270.    v = cFraction(n, p, q)
  4271.    Tmp1 = Tmp1 & n & " is " & p & " / " & q & vbCr
  4272.    Tmp1 = Tmp1 & "   value is " & v & vbCr & vbCr
  4273.    n = 0.9999999
  4274.    v = cFraction(n, p, q)
  4275.    Tmp1 = Tmp1 & n & " is " & p & " / " & q & vbCr
  4276.    Tmp1 = Tmp1 & "   value is " & v & vbCr & vbCr
  4277.    cStartBasisTimer
  4278.    For i = 1 To Item
  4279.       v = cFraction(n, p, q)
  4280.    Next i
  4281.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4282.    Label3.Caption = Tmp1
  4283. End Sub
  4284. Private Sub TestFullPath()
  4285.    Dim Title      As String
  4286.    Dim Tmp        As String
  4287.    Dim Tmp1       As String
  4288.    Dim Tmp2       As String
  4289.    Dim Tmp3       As String
  4290.    Dim i          As Integer
  4291.    Dim j          As Long
  4292.    Tmp1 = ""
  4293.    Tmp = "C:\AUTOEXEC.BAT"
  4294.    Tmp1 = Tmp1 & "Full Path of " & Tmp & " is " & cFullPath(Tmp) & vbCr & vbCr
  4295.    Tmp = cGetSystemDirectory() & "\t2win-16.dll"
  4296.    Tmp1 = Tmp1 & "Full Path of " & Tmp & " is " & cFullPath(Tmp) & vbCr & vbCr
  4297.    Tmp = cFilesInDirectory(cGetDefaultCurrentDir() + "\*.*", True)
  4298.    Tmp1 = Tmp1 & "Full Path of " & Tmp & " is " & cFullPath(Tmp) & vbCr & vbCr
  4299.    cStartBasisTimer
  4300.    For i = 1 To Item
  4301.       Tmp = cFullPath(Tmp)
  4302.    Next i
  4303.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & vbCr & vbCr
  4304.    Label3.Caption = Tmp1
  4305. End Sub
  4306. Private Sub TestGetBit()
  4307.    Dim Title      As String
  4308.    Dim Tmp        As String
  4309.    Dim Tmp1       As String
  4310.    Dim Tmp2       As String
  4311.    Dim i          As Integer
  4312.    Dim j          As Integer
  4313.    Tmp = Text1.Text
  4314.    Title = "bit 0,7,3 of [" & Tmp & "] is "
  4315.    Tmp1 = Title & cGetBit(Tmp, 0) & " " & cGetBit(Tmp, 7) & " " & cGetBit(Tmp, 3) & " " & vbCr & vbCr
  4316.    Title = "bit 23,30,38 of [" & Tmp & "] is "
  4317.    Tmp1 = Tmp1 & Title & cGetBit(Tmp, 23) & " " & cGetBit(Tmp, 30) & " " & cGetBit(Tmp, 38) & " " & vbCr & vbCr
  4318.    cStartBasisTimer
  4319.    For i = 1 To Item
  4320.       j = cGetBit(Tmp, i)
  4321.    Next i
  4322.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4323.    Label3.Caption = Tmp1
  4324. End Sub
  4325. Private Sub TestGetBlock()
  4326.    Dim Title      As String
  4327.    Dim Tmp        As String
  4328.    Dim Tmp1       As String
  4329.    Dim Tmp2       As String
  4330.    Dim i          As Integer
  4331.    Dim j          As Integer
  4332.    Tmp = Text1.Text
  4333.    Title = "The 2,4,1 of 2 chars of [" & Tmp & "] are "
  4334.    Tmp = Text1.Text
  4335.    Tmp1 = Title & "2:" & cGetBlock(Tmp, 2, 2) & " | 4:" & cGetBlock(Tmp, 4, 2) & " | 1:" & cGetBlock(Tmp, 1, 2) & vbCr & vbCr
  4336.    cStartBasisTimer
  4337.    For i = 1 To Item
  4338.       Tmp2 = cGetBlock(Tmp, 1, 2)
  4339.    Next i
  4340.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4341.    Label3.Caption = Tmp1
  4342. End Sub
  4343. Private Sub TestGetCurrentDrive()
  4344.    Dim Title      As String
  4345.    Dim Tmp        As String
  4346.    Dim Tmp1       As String
  4347.    Dim Tmp2       As String
  4348.    Dim i          As Integer
  4349.    Dim j          As Integer
  4350.    Tmp = cGetCurrentDrive()
  4351.    Tmp1 = Tmp & " is the current drive" & vbCr & vbCr
  4352.    cStartBasisTimer
  4353.    For i = 1 To Item
  4354.       Tmp2 = cGetCurrentDrive()
  4355.       If (Tmp <> Tmp2) Then Beep
  4356.    Next i
  4357.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4358.    Label3.Caption = Tmp1
  4359. End Sub
  4360. Private Sub TestGetDateSeparator()
  4361.    Dim Title      As String
  4362.    Dim Tmp        As String
  4363.    Dim Tmp1       As String
  4364.    Dim Tmp2       As String
  4365.    Dim i          As Integer
  4366.    Dim j          As Integer
  4367.    Tmp = cGetDateSeparator()
  4368.    Tmp1 = "The following char '" & Tmp & "' is the date separator" & vbCr & vbCr
  4369.    cStartBasisTimer
  4370.    For i = 1 To Item
  4371.       Tmp2 = cGetDateSeparator()
  4372.       If (Tmp <> Tmp2) Then Beep
  4373.    Next i
  4374.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4375.    Label3.Caption = Tmp1
  4376. End Sub
  4377. Private Sub TestGetDefaultCurrentDir()
  4378.    Dim Title      As String
  4379.    Dim Tmp        As String
  4380.    Dim Tmp1       As String
  4381.    Dim Tmp2       As String
  4382.    Dim i          As Integer
  4383.    Dim j          As Integer
  4384.    Tmp = cGetDefaultCurrentDir()
  4385.    Tmp1 = Tmp & " is the current dir on the default drive" & vbCr & vbCr
  4386.    cStartBasisTimer
  4387.    For i = 1 To Item
  4388.       Tmp2 = cGetDefaultCurrentDir()
  4389.       If (Tmp <> Tmp2) Then Beep
  4390.    Next i
  4391.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4392.    Label3.Caption = Tmp1
  4393. End Sub
  4394. Private Sub TestGetDiskFree()
  4395.    Dim Title      As String
  4396.    Dim Tmp        As String
  4397.    Dim Tmp1       As String
  4398.    Dim Tmp2       As String
  4399.    Dim i          As Integer
  4400.    Dim j          As Integer
  4401.    Dim k          As Long
  4402.    Dim ErrCode    As Integer
  4403.    Tmp1 = ""
  4404.    For i = 1 To 26
  4405.       k = cGetDiskFree(Chr$(64 + i))
  4406.       If (k <> True) Then
  4407.          Tmp1 = Tmp1 & "DiskFree for '" & Chr$(64 + i) & ":' is " & k & vbCr
  4408.       End If
  4409.    Next i
  4410.    Tmp1 = Tmp1 + vbCr
  4411.    cStartBasisTimer
  4412.    For i = 1 To Item
  4413.       k = cGetDiskFree("C")
  4414.    Next i
  4415.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4416.    Label3.Caption = Tmp1
  4417. End Sub
  4418. Private Sub TestGetDiskSpace()
  4419.    Dim Title      As String
  4420.    Dim Tmp        As String
  4421.    Dim Tmp1       As String
  4422.    Dim Tmp2       As String
  4423.    Dim i          As Integer
  4424.    Dim j          As Integer
  4425.    Dim k          As Long
  4426.    Dim ErrCode    As Integer
  4427.    Tmp1 = ""
  4428.    For i = 1 To 26
  4429.       k = cGetDiskSpace(Chr$(64 + i))
  4430.       If (k <> True) Then
  4431.          Tmp1 = Tmp1 & "DiskSpace for '" & Chr$(64 + i) & ":' is " & k & vbCr
  4432.       End If
  4433.    Next i
  4434.    Tmp1 = Tmp1 + vbCr
  4435.    cStartBasisTimer
  4436.    For i = 1 To Item
  4437.       k = cGetDiskSpace("C")
  4438.    Next i
  4439.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4440.    Label3.Caption = Tmp1
  4441. End Sub
  4442. Private Sub TestGetDiskUsed()
  4443.    Dim Title      As String
  4444.    Dim Tmp        As String
  4445.    Dim Tmp1       As String
  4446.    Dim Tmp2       As String
  4447.    Dim i          As Integer
  4448.    Dim j          As Integer
  4449.    Dim k          As Long
  4450.    Dim ErrCode    As Integer
  4451.    Tmp1 = ""
  4452.    For i = 1 To 26
  4453.       k = cGetDiskUsed(Chr$(64 + i))
  4454.       If (k <> True) Then
  4455.          Tmp1 = Tmp1 & "DiskUsed for '" & Chr$(64 + i) & ":' is " & k & vbCr
  4456.       End If
  4457.    Next i
  4458.    Tmp1 = Tmp1 + vbCr
  4459.    cStartBasisTimer
  4460.    For i = 1 To Item
  4461.       k = cGetDiskUsed("C")
  4462.    Next i
  4463.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4464.    Label3.Caption = Tmp1
  4465. End Sub
  4466. Private Sub TestGetDriveCurrentDir()
  4467.    Dim Title      As String
  4468.    Dim Tmp        As String
  4469.    Dim Tmp1       As String
  4470.    Dim Tmp2       As String
  4471.    Dim i          As Integer
  4472.    Dim j          As Integer
  4473.    Tmp1 = ""
  4474.    For i = 1 To 26
  4475.       Tmp = cGetDriveCurrentDir(Chr$(64 + i))
  4476.       If (Tmp <> "") Then
  4477.          Tmp1 = Tmp1 & "The current directory in '" & Chr$(64 + i) & ":' is " & Tmp & vbCr
  4478.       Else
  4479.          If (i = 1) Then Tmp1 = Tmp1 & "drive A: is missing" & vbCr
  4480.          If (i = 2) Then Tmp1 = Tmp1 & "drive B: is missing" & vbCr
  4481.       End If
  4482.    Next i
  4483.    Tmp1 = Tmp1 + vbCr
  4484.    cStartBasisTimer
  4485.    For i = 1 To Item
  4486.       Tmp2 = cGetDriveCurrentDir("C")
  4487.    Next i
  4488.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4489.    Label3.Caption = Tmp1
  4490. End Sub
  4491. Private Sub TestGetFullnameInEnv()
  4492.    Dim Title      As String
  4493.    Dim Tmp        As String
  4494.    Dim Tmp1       As String
  4495.    Dim Tmp2       As String
  4496.    Dim i          As Integer
  4497.    Dim j          As Integer
  4498.    Tmp = cGetFullNameInEnv("win.com", "windir")
  4499.    Tmp1 = "Full path for 'win.com' in 'windir' is " & Tmp & vbCr & vbCr
  4500.    cStartBasisTimer
  4501.    For i = 1 To ItemFile
  4502.       Tmp2 = cGetFullNameInEnv("win.com", "windir")
  4503.    Next i
  4504.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4505.    Label3.Caption = Tmp1
  4506. End Sub
  4507. Private Sub TestGetFullnameInPath()
  4508.    Dim Title      As String
  4509.    Dim Tmp        As String
  4510.    Dim Tmp1       As String
  4511.    Dim Tmp2       As String
  4512.    Dim i          As Integer
  4513.    Dim j          As Integer
  4514.    Tmp = cGetFullNameInPath("win.com")
  4515.    Tmp1 = "Full path for 'win.com' is " & Tmp & vbCr & vbCr
  4516.    cStartBasisTimer
  4517.    For i = 1 To ItemFile
  4518.       Tmp2 = cGetFullNameInPath("win.com")
  4519.    Next i
  4520.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4521.    Label3.Caption = Tmp1
  4522. End Sub
  4523. Private Sub TestGetIn()
  4524.    Dim Title      As String
  4525.    Dim Tmp        As String
  4526.    Dim Tmp1       As String
  4527.    Dim Tmp2       As String
  4528.    Dim i          As Integer
  4529.    Dim j          As Integer
  4530.    Tmp = Text1.Text
  4531.    Title = "The 2,4,1 blocks of [" & Tmp & "] are "
  4532.    Tmp = Text1.Text
  4533.    Tmp1 = Title & "2:" & cGetIn(Tmp, "/", 2) & " | 4:" & cGetIn(Tmp, "/", 4) & " | 1:" & cGetIn(Tmp, "/", 1) & vbCr & vbCr
  4534.    cStartBasisTimer
  4535.    For i = 1 To Item
  4536.       Tmp2 = cGetIn(Tmp, "/", 2)
  4537.    Next i
  4538.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4539.    Label3.Caption = Tmp1
  4540. End Sub
  4541. Private Sub TestGetInR()
  4542.               
  4543.    Dim Title      As String
  4544.    Dim Tmp        As String
  4545.    Dim Tmp1       As String
  4546.    Dim Tmp2       As String
  4547.    Dim i          As Integer
  4548.    Dim j          As Integer
  4549.    Tmp = Text1.Text
  4550.    Tmp1 = Tmp1 + "GetInR" & vbCr
  4551.    Tmp1 = Tmp1 + "The 2,4,1 blocks from the right of [" & Tmp & "] are "
  4552.    Tmp1 = Tmp1 & "2:" & cGetInR(Tmp, "/", 2) & " | 4:" & cGetInR(Tmp, "/", 4) & " | 1:" & cGetInR(Tmp, "/", 1) & vbCr & vbCr
  4553.    Tmp1 = Tmp1 + "GetInPart" & vbCr
  4554.    Tmp1 = Tmp1 + "The first and the second part from the left of [" & Tmp & "] are " & vbCr
  4555.    Tmp1 = Tmp1 & cGetInPart(Tmp, "/", True) & " | " & cGetInPart(Tmp, "/", False) & vbCr & vbCr
  4556.    Tmp1 = Tmp1 + "GetInPartR" & vbCr
  4557.    Tmp1 = Tmp1 + "The first and the second part from the right of [" & Tmp & "] are " & vbCr
  4558.    Tmp1 = Tmp1 & cGetInPartR(Tmp, "/", True) & " | " & cGetInPartR(Tmp, "/", False) & vbCr & vbCr
  4559.    Tmp = UCase$("c:\vberr.hnd\source.mak\vbtrcprf.mak")
  4560.    Tmp1 = Tmp1 + "GetInPart" & vbCr
  4561.    Tmp1 = Tmp1 + "The first and the second part from the left of [" & Tmp & "] are " & vbCr
  4562.    Tmp1 = Tmp1 & cGetInPart(Tmp, ".", True) & " | " & cGetInPart(Tmp, ".", False) & vbCr & vbCr
  4563.    Tmp1 = Tmp1 + "GetInPartR" & vbCr
  4564.    Tmp1 = Tmp1 + "The first and the second part from the right of [" & Tmp & "] are " & vbCr
  4565.    Tmp1 = Tmp1 & cGetInPartR(Tmp, ".", True) & " | " & cGetInPartR(Tmp, ".", False) & vbCr & vbCr
  4566.    cStartBasisTimer
  4567.    For i = 1 To Item
  4568.       Tmp2 = cGetInR(Tmp, "/", 2)
  4569.    Next i
  4570.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4571.    Label3.Caption = Tmp1
  4572. End Sub
  4573. Private Sub TestGetNetConnection()
  4574.    Dim Title      As String
  4575.    Dim Tmp        As String
  4576.    Dim Tmp1       As String
  4577.    Dim Tmp2       As String
  4578.    Dim i          As Integer
  4579.    Dim j          As Integer
  4580.    Dim ErrCode    As Integer
  4581.    Tmp1 = ""
  4582.    For i = 1 To 26
  4583.       Tmp = cGetNetConnection(Chr$(64 + i) & ":", ErrCode)
  4584.       If (ErrCode = True) Then
  4585.          Tmp1 = Tmp1 & "'" & Chr$(64 + i) & ":' is " & Tmp & vbCr
  4586.       End If
  4587.    Next i
  4588.    For i = 1 To 3
  4589.       Tmp = cGetNetConnection("LPT" & i & ":", ErrCode)
  4590.       If (ErrCode = True) Then
  4591.          Tmp1 = Tmp1 & "'LPT" & i & ":' is " & Tmp & vbCr
  4592.       End If
  4593.    Next i
  4594.    Tmp1 = Tmp1 + vbCr
  4595.    cStartBasisTimer
  4596.    For i = 1 To ItemFile
  4597.       Tmp = cGetNetConnection("C", ErrCode)
  4598.    Next i
  4599.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4600.    Label3.Caption = Tmp1
  4601. End Sub
  4602. Private Sub TestGetSystemDirectory()
  4603.    Dim Title      As String
  4604.    Dim Tmp        As String
  4605.    Dim Tmp1       As String
  4606.    Dim Tmp2       As String
  4607.    Dim i          As Integer
  4608.    Dim j          As Integer
  4609.    Tmp = cGetSystemDirectory()
  4610.    Tmp1 = Tmp & " is the system directory for Windows" & vbCr & vbCr
  4611.    cStartBasisTimer
  4612.    For i = 1 To Item
  4613.       Tmp2 = cGetSystemDirectory()
  4614.       If (Tmp <> Tmp2) Then Beep
  4615.    Next i
  4616.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4617.    Label3.Caption = Tmp1
  4618. End Sub
  4619. Private Sub TestGetTimeSeparator()
  4620.    Dim Title      As String
  4621.    Dim Tmp        As String
  4622.    Dim Tmp1       As String
  4623.    Dim Tmp2       As String
  4624.    Dim i          As Integer
  4625.    Dim j          As Integer
  4626.    Tmp = cGetTimeSeparator()
  4627.    Tmp1 = "The following char '" & Tmp & "' is the time separator" & vbCr & vbCr
  4628.    cStartBasisTimer
  4629.    For i = 1 To Item
  4630.       Tmp2 = cGetTimeSeparator()
  4631.       If (Tmp <> Tmp2) Then Beep
  4632.    Next i
  4633.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4634.    Label3.Caption = Tmp1
  4635. End Sub
  4636. Private Sub TestGetWindowsDirectory()
  4637.    Dim Title      As String
  4638.    Dim Tmp        As String
  4639.    Dim Tmp1       As String
  4640.    Dim Tmp2       As String
  4641.    Dim i          As Integer
  4642.    Dim j          As Integer
  4643.    Tmp = cGetWindowsDirectory()
  4644.    Tmp1 = Tmp & " is the directory for Windows" & vbCr & vbCr
  4645.    cStartBasisTimer
  4646.    For i = 1 To Item
  4647.       Tmp2 = cGetWindowsDirectory()
  4648.       If (Tmp <> Tmp2) Then Beep
  4649.    Next i
  4650.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4651.    Label3.Caption = Tmp1
  4652. End Sub
  4653. Private Sub TestGiveBitPalindrome()
  4654.    Dim Title      As String
  4655.    Dim Tmp        As String
  4656.    Dim Tmp1       As String
  4657.    Dim Tmp2       As String
  4658.    Dim i          As Integer
  4659.    Dim j          As Integer
  4660.    Title = "The followings chars are Bit Palindrome : " & vbCr & vbCr
  4661.    Tmp1 = Tmp1 & Title & "chr(0) and  " & cBlockCharFromRight(cGiveBitPalindrome(), 1) & vbCr & vbCr
  4662.    cStartBasisTimer
  4663.    For i = 1 To Item
  4664.       Tmp2 = cGiveBitPalindrome()
  4665.    Next i
  4666.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4667.    Label3.Caption = Tmp1
  4668. End Sub
  4669. Private Sub TestHideAllEditForm()
  4670.    Dim n       As Integer
  4671.    Dim Tmp     As String
  4672.    If (cHideAllEditForm() = True) Then
  4673.       Tmp = "HideAllEditForm SUCCESS"
  4674.    Else
  4675.       Tmp = "HideAllEditForm FAIL"
  4676.    End If
  4677.    Tmp = Tmp & vbCr & "Waiting 2 seconds" & vbCr
  4678.    Label3.Caption = Tmp
  4679.    DoEvents
  4680.    n = cSleep(2000)
  4681.    If (cUnHideAllEditForm() = True) Then
  4682.       Tmp = Tmp & "UnHideAllEditForm SUCCESS"
  4683.    Else
  4684.       Tmp = Tmp & "UnHideAllEditForm FAIL"
  4685.    End If
  4686.    Label3.Caption = Tmp
  4687. End Sub
  4688. Private Sub TestHideDebugForm()
  4689.    Dim n       As Integer
  4690.    Dim Tmp     As String
  4691.    If (cHideDebugForm() = True) Then
  4692.       Tmp = "HideDebugForm SUCCESS"
  4693.    Else
  4694.       Tmp = "HideDebugForm FAIL"
  4695.    End If
  4696.    Tmp = Tmp & vbCr & "Waiting 2 seconds" & vbCr
  4697.    Label3.Caption = Tmp
  4698.    DoEvents
  4699.    n = cSleep(2000)
  4700.    If (cUnHideDebugForm() = True) Then
  4701.       Tmp = Tmp & "UnHideDebugForm SUCCESS"
  4702.    Else
  4703.       Tmp = Tmp & "UnHideDebugForm FAIL"
  4704.    End If
  4705.    Label3.Caption = Tmp
  4706. End Sub
  4707. Private Sub TestHMAL(Management As Integer)
  4708.    Dim Tmp        As String
  4709.    Dim ErrCode    As Integer
  4710.    Dim HMA        As tagHMA
  4711.    HMA.nType = DA_LONG
  4712.    HMA.nIsTyped = False
  4713.    HMA.nRows = 100
  4714.    HMA.nCols = 100
  4715.    HMA.nSheets = 2
  4716.    ErrCode = cHMACreate(HMA)
  4717.    Tmp = Tmp & "ErrCode = " & ErrCode & vbCr & vbCr
  4718.    If (ErrCode = True) Then
  4719.       
  4720.       Tmp = Tmp & "HMA.daSize       = " & HMA.daSize & vbCr
  4721.       Tmp = Tmp & "HMA.nType        = " & HMA.nType & vbCr
  4722.       Tmp = Tmp & "HMA.nIsTyped     = " & HMA.nIsTyped & vbCr
  4723.       Tmp = Tmp & "HMA.nRows        = " & HMA.nRows & vbCr
  4724.       Tmp = Tmp & "HMA.nCols        = " & HMA.nCols & vbCr
  4725.       Tmp = Tmp & "HMA.nSheets      = " & HMA.nSheets & vbCr
  4726.       Tmp = Tmp & "HMA.rHandle      = " & HMA.rHandle & vbCr
  4727.       Tmp = Tmp & "HMA.rElementSize = " & HMA.rElementSize & vbCr
  4728.       Tmp = Tmp & "HMA.rMemorySize  = " & HMA.rMemorySize & vbCr
  4729.       Tmp = Tmp & "HMA.rParts       = " & HMA.rParts & vbCr
  4730.       Tmp = Tmp & "HMA.rRemain      = " & HMA.rRemain & vbCr
  4731.       Tmp = Tmp & "HMA.rSheetSize   = " & HMA.rSheetSize & vbCr & vbCr
  4732.       
  4733.       Call cHMAPut(HMA, 1, 1, 1, 12345)
  4734.       Call cHMAPut(HMA, HMA.nRows, HMA.nCols, 1, 98765)
  4735.       
  4736.       Call cHMAPut(HMA, 1, HMA.nCols, 2, 34567890)
  4737.       Call cHMAPut(HMA, HMA.nRows, 1, 2, 123456789)
  4738.       Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cHMAGet(HMA, 1, 1, 1) & vbCr
  4739.       Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, Value : " & cHMAGet(HMA, HMA.nRows, HMA.nCols, 1) & vbCr
  4740.       
  4741.       Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, Value : " & cHMAGet(HMA, 1, HMA.nCols, 2) & vbCr
  4742.       Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, Value : " & cHMAGet(HMA, HMA.nRows, 1, 2) & vbCr & vbCr
  4743.       If (Management > 0) Then
  4744.          Select Case Management
  4745.             Case 1         'clear all
  4746.                ErrCode = cHMAClear(HMA)
  4747.             Case 2         'clear sheet 2
  4748.                ErrCode = cHMAClearSheet(HMA, 2)
  4749.             Case 3         'clear last row
  4750.                ErrCode = cHMAClearRow(HMA, HMA.nRows, 1)
  4751.             Case 4         'clear last col
  4752.                ErrCode = cHMAClearCol(HMA, HMA.nCols, 1)
  4753.             Case 5         'clear last row in all sheets
  4754.                ErrCode = cHMAClearRow(HMA, HMA.nRows, -1)
  4755.             Case 6         'clear last col in all sheets
  4756.                ErrCode = cHMAClearCol(HMA, HMA.nCols, -1)
  4757.          End Select
  4758.          Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cHMAGet(HMA, 1, 1, 1) & vbCr
  4759.          Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, Value : " & cHMAGet(HMA, HMA.nRows, HMA.nCols, 1) & vbCr
  4760.          
  4761.          Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, Value : " & cHMAGet(HMA, 1, HMA.nCols, 2) & vbCr
  4762.          Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, Value : " & cHMAGet(HMA, HMA.nRows, 1, 2) & vbCr
  4763.       End If
  4764.    End If
  4765.    ErrCode = cHMAFree(HMA)
  4766.    Label3.Caption = Tmp
  4767. End Sub
  4768. Private Sub TestHMAStr(Management As Integer)
  4769.    Dim Tmp        As String
  4770.    Dim ErrCode    As Integer
  4771.    Dim HMA        As tagHMA
  4772.    HMA.nType = 50
  4773.    HMA.nIsTyped = False
  4774.    HMA.nRows = 100
  4775.    HMA.nCols = 100
  4776.    HMA.nSheets = 2
  4777.    ErrCode = cHMACreate(HMA)
  4778.    Tmp = Tmp & "ErrCode = " & ErrCode & vbCr & vbCr
  4779.    If (ErrCode = True) Then
  4780.       
  4781.       Tmp = Tmp & "HMA.daSize       = " & HMA.daSize & vbCr
  4782.       Tmp = Tmp & "HMA.nType        = " & HMA.nType & vbCr
  4783.       Tmp = Tmp & "HMA.nIsTyped     = " & HMA.nIsTyped & vbCr
  4784.       Tmp = Tmp & "HMA.nRows        = " & HMA.nRows & vbCr
  4785.       Tmp = Tmp & "HMA.nCols        = " & HMA.nCols & vbCr
  4786.       Tmp = Tmp & "HMA.nSheets      = " & HMA.nSheets & vbCr
  4787.       Tmp = Tmp & "HMA.rHandle      = " & HMA.rHandle & vbCr
  4788.       Tmp = Tmp & "HMA.rElementSize = " & HMA.rElementSize & vbCr
  4789.       Tmp = Tmp & "HMA.rMemorySize  = " & HMA.rMemorySize & vbCr
  4790.       Tmp = Tmp & "HMA.rParts       = " & HMA.rParts & vbCr
  4791.       Tmp = Tmp & "HMA.rRemain      = " & HMA.rRemain & vbCr
  4792.       Tmp = Tmp & "HMA.rSheetSize   = " & HMA.rSheetSize & vbCr & vbCr
  4793.       
  4794.       Call cHMAPut(HMA, 1, 1, 1, "D:1, ABCDEFGHIJ")
  4795.       Call cHMAPut(HMA, HMA.nRows, HMA.nCols, 1, "D:1, oprqstuvwxyz")
  4796.       
  4797.       Call cHMAPut(HMA, 1, HMA.nCols, 2, "D:2, 0987654321")
  4798.       Call cHMAPut(HMA, HMA.nRows, 1, 2, "D:2, 12345ABCDE")
  4799.       Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cHMAGet(HMA, 1, 1, 1) & vbCr
  4800.       Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, Value : " & cHMAGet(HMA, HMA.nRows, HMA.nCols, 1) & vbCr
  4801.       
  4802.       Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, Value : " & cHMAGet(HMA, 1, HMA.nCols, 2) & vbCr
  4803.       Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, Value : " & cHMAGet(HMA, HMA.nRows, 1, 2) & vbCr & vbCr
  4804.       If (Management > 0) Then
  4805.          Select Case Management
  4806.             Case 1         'clear all
  4807.                ErrCode = cHMAClear(HMA)
  4808.             Case 2         'clear sheet 2
  4809.                ErrCode = cHMAClearSheet(HMA, 2)
  4810.             Case 3         'clear last row
  4811.                ErrCode = cHMAClearRow(HMA, HMA.nRows, 1)
  4812.             Case 4         'clear last col
  4813.                ErrCode = cHMAClearCol(HMA, HMA.nCols, 1)
  4814.             Case 5         'clear last row in all sheets
  4815.                ErrCode = cHMAClearRow(HMA, HMA.nRows, -1)
  4816.             Case 6         'clear last col in all sheets
  4817.                ErrCode = cHMAClearCol(HMA, HMA.nCols, -1)
  4818.          End Select
  4819.          Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cHMAGet(HMA, 1, 1, 1) & vbCr
  4820.          Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, Value : " & cHMAGet(HMA, HMA.nRows, HMA.nCols, 1) & vbCr
  4821.          
  4822.          Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, Value : " & cHMAGet(HMA, 1, HMA.nCols, 2) & vbCr
  4823.          Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, Value : " & cHMAGet(HMA, HMA.nRows, 1, 2) & vbCr
  4824.       End If
  4825.    End If
  4826.    ErrCode = cHMAFree(HMA)
  4827.    Label3.Caption = Tmp
  4828. End Sub
  4829. Private Sub TestHMAType(Management As Integer)
  4830.    Dim Tmp        As String
  4831.    Dim ErrCode    As Integer
  4832.    Dim HMA        As tagHMA
  4833.    Dim TE         As tagTASKENTRY
  4834.    HMA.nType = Len(TE)
  4835.    HMA.nIsTyped = True
  4836.    HMA.nRows = 100
  4837.    HMA.nCols = 100
  4838.    HMA.nSheets = 2
  4839.    ErrCode = cHMACreate(HMA)
  4840.    Tmp = Tmp & "ErrCode = " & ErrCode & vbCr & vbCr
  4841.    If (ErrCode = True) Then
  4842.       
  4843.       Tmp = Tmp & "HMA.daSize       = " & HMA.daSize & vbCr
  4844.       Tmp = Tmp & "HMA.nType        = " & HMA.nType & vbCr
  4845.       Tmp = Tmp & "HMA.nIsTyped     = " & HMA.nIsTyped & vbCr
  4846.       Tmp = Tmp & "HMA.nRows        = " & HMA.nRows & vbCr
  4847.       Tmp = Tmp & "HMA.nCols        = " & HMA.nCols & vbCr
  4848.       Tmp = Tmp & "HMA.nSheets      = " & HMA.nSheets & vbCr
  4849.       Tmp = Tmp & "HMA.rHandle      = " & HMA.rHandle & vbCr
  4850.       Tmp = Tmp & "HMA.rElementSize = " & HMA.rElementSize & vbCr
  4851.       Tmp = Tmp & "HMA.rMemorySize  = " & HMA.rMemorySize & vbCr
  4852.       Tmp = Tmp & "HMA.rParts       = " & HMA.rParts & vbCr
  4853.       Tmp = Tmp & "HMA.rRemain      = " & HMA.rRemain & vbCr
  4854.       Tmp = Tmp & "HMA.rSheetSize   = " & HMA.rSheetSize & vbCr & vbCr
  4855.       ErrCode = cTasks(TE, True)
  4856.       Call cHMAPutType(HMA, 1, 1, 1, TE)
  4857.       ErrCode = cTasks(TE, False)
  4858.       Call cHMAPutType(HMA, HMA.nRows, HMA.nCols, 1, TE)
  4859.       
  4860.       ErrCode = cTasks(TE, False)
  4861.       Call cHMAPutType(HMA, 1, HMA.nCols, 2, TE)
  4862.       ErrCode = cTasks(TE, False)
  4863.       Call cHMAPutType(HMA, HMA.nRows, 1, 2, TE)
  4864.       
  4865.       Call cHMAGetType(HMA, 1, 1, 1, TE)
  4866.       Tmp = Tmp & "R:1  , C:1  , D:1, TE.szModule : " & cCompress(TE.szModule) & vbCr
  4867.       Call cHMAGetType(HMA, HMA.nRows, HMA.nCols, 1, TE)
  4868.       Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, TE.szModule : " & cCompress(TE.szModule) & vbCr
  4869.       
  4870.       Call cHMAGetType(HMA, 1, HMA.nCols, 2, TE)
  4871.       Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, TE.szModule : " & cCompress(TE.szModule) & vbCr
  4872.       Call cHMAGetType(HMA, HMA.nRows, 1, 2, TE)
  4873.       Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, TE.szModule : " & cCompress(TE.szModule) & vbCr & vbCr
  4874.       If (Management > 0) Then
  4875.          Select Case Management
  4876.             Case 1         'clear all
  4877.                ErrCode = cHMAClear(HMA)
  4878.             Case 2         'clear sheet 2
  4879.                ErrCode = cHMAClearSheet(HMA, 2)
  4880.             Case 3         'clear last row
  4881.                ErrCode = cHMAClearRow(HMA, HMA.nRows, 1)
  4882.             Case 4         'clear last col
  4883.                ErrCode = cHMAClearCol(HMA, HMA.nCols, 1)
  4884.             Case 5         'clear last row in all sheets
  4885.                ErrCode = cHMAClearRow(HMA, HMA.nRows, -1)
  4886.             Case 6         'clear last col in all sheets
  4887.                ErrCode = cHMAClearCol(HMA, HMA.nCols, -1)
  4888.          End Select
  4889.          Call cHMAGetType(HMA, 1, 1, 1, TE)
  4890.          Tmp = Tmp & "R:1  , C:1  , D:1, TE.szModule : " & cCompress(TE.szModule) & vbCr
  4891.          Call cHMAGetType(HMA, HMA.nRows, HMA.nCols, 1, TE)
  4892.          Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, TE.szModule : " & cCompress(TE.szModule) & vbCr
  4893.       
  4894.          Call cHMAGetType(HMA, 1, HMA.nCols, 2, TE)
  4895.          Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, TE.szModule : " & cCompress(TE.szModule) & vbCr
  4896.          Call cHMAGetType(HMA, HMA.nRows, 1, 2, TE)
  4897.          Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, TE.szModule : " & cCompress(TE.szModule) & vbCr
  4898.       End If
  4899.    End If
  4900.    ErrCode = cHMAFree(HMA)
  4901.    Label3.Caption = Tmp
  4902. End Sub
  4903. Private Sub TestHourTo()
  4904.    Dim Title      As String
  4905.    Dim Tmp        As String
  4906.    Dim Tmp1       As String
  4907.    Dim Tmp2       As String
  4908.    Dim i          As Integer
  4909.    Dim j          As Integer
  4910.    Tmp1 = "The time 10:00 is " & cHourTo("10:00") & " minutes" & vbCr
  4911.    Tmp1 = Tmp1 & "The time 23:58 is " & cHourTo("23:58") & " minutes" & vbCr
  4912.    Tmp1 = Tmp1 & "The time 7:36 is " & cHourTo("7:36") & " minutes" & vbCr
  4913.    Tmp1 = Tmp1 & "The time :24 is " & cHourTo(":24") & " minutes" & vbCr
  4914.    Tmp1 = Tmp1 & "The time :4 is " & cHourTo(":4") & " minutes" & vbCr
  4915.    Tmp1 = Tmp1 & "The time : is " & cHourTo(":") & " minutes" & vbCr & vbCr
  4916.    Tmp1 = Tmp1 & "The time -10:00 is " & cHourTo("-10:00") & " minutes" & vbCr
  4917.    Tmp1 = Tmp1 & "The time -23:58 is " & cHourTo("-23:58") & " minutes" & vbCr
  4918.    Tmp1 = Tmp1 & "The time -7:36 is " & cHourTo("-7:36") & " minutes" & vbCr
  4919.    Tmp1 = Tmp1 & "The time -:24 is " & cHourTo("-:24") & " minutes" & vbCr
  4920.    Tmp1 = Tmp1 & "The time -:4 is " & cHourTo("-:4") & " minutes" & vbCr
  4921.    Tmp1 = Tmp1 & "The time -: is " & cHourTo("-:") & " minutes" & vbCr & vbCr
  4922.    cStartBasisTimer
  4923.    For i = 1 To Item
  4924.       j = cHourTo("23:59")
  4925.    Next i
  4926.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4927.    Label3.Caption = Tmp1
  4928. End Sub
  4929. Private Sub TestInpBox()
  4930.    Dim i       As Integer
  4931.    Dim n       As Integer
  4932.    Dim Tmp     As String
  4933.    Dim Tmp1    As String
  4934.    Tmp = "'T2WIN-16'" & vbCr & vbCr
  4935.    Tmp = Tmp & " is a powerfull data link library for using with Visual Basic 3.0 for Windows." & vbCr
  4936.    Tmp = Tmp & "It looks very better than the standard message box." & vbCr
  4937.    Tmp = Tmp & "All push buttons are displayed in French." & vbCr
  4938.    Tmp = Tmp & "The system menu is also in French."
  4939.    Tmp1 = cLngInpBox(LNG_FRENCH, Tmp, "Input Box in French", "" & Text1.Text)
  4940.    Tmp1 = InputBox$("This is a standard input box", "VB INPUT BOX", "" & Text1.Text)
  4941. End Sub
  4942. Private Sub TestInsertBlocks()
  4943.    Dim Title      As String
  4944.    Dim Tmp        As String
  4945.    Dim Tmp1       As String
  4946.    Dim Tmp2       As String
  4947.    Dim i          As Integer
  4948.    Dim j          As Integer
  4949.    Tmp = "A~BC~DEF~GHIJ~"
  4950.    Title = "Insert 'a','bc','def','ghij' into [" & Tmp & "] is " & vbCr & vbCr
  4951.    Tmp1 = Title & cInsertBlocks(Tmp, "a~bc~def~ghij") & vbCr & vbCr
  4952.    Title = "Insert '' into [" & Tmp & "] is " & vbCr & vbCr
  4953.    Tmp1 = Tmp1 & Title & cInsertBlocks(Tmp, "") & vbCr & vbCr
  4954.    cStartBasisTimer
  4955.    For i = 1 To Item
  4956.       Tmp2 = cInsertBlocks(Tmp, "a")
  4957.    Next i
  4958.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4959.    Label3.Caption = Tmp1
  4960. End Sub
  4961. Private Sub TestInsertBlocksBy()
  4962.    Dim Title      As String
  4963.    Dim Tmp        As String
  4964.    Dim Tmp1       As String
  4965.    Dim Tmp2       As String
  4966.    Dim i          As Integer
  4967.    Dim j          As Integer
  4968.    Tmp = Text1.Text
  4969.    Title = "Insert 'a','bc','def','ghij' into [" & Tmp & "] is " & vbCr & vbCr
  4970.    Tmp1 = Title & cInsertBlocksBy(Tmp, "a/bc/def/ghij", "/") & vbCr & vbCr
  4971.    Title = "Insert '' into [" & Tmp & "] is " & vbCr & vbCr
  4972.    Tmp1 = Tmp1 & Title & cInsertBlocksBy(Tmp, "", "/") & vbCr & vbCr
  4973.    cStartBasisTimer
  4974.    For i = 1 To Item
  4975.       Tmp2 = cInsertBlocksBy(Tmp, "a/bc/def/ghij", "/")
  4976.    Next i
  4977.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4978.    Label3.Caption = Tmp1
  4979. End Sub
  4980. Private Sub TestInsertChars()
  4981.    Dim Title      As String
  4982.    Dim Tmp        As String
  4983.    Dim Tmp1       As String
  4984.    Dim Tmp2       As String
  4985.    Dim i          As Integer
  4986.    Dim j          As Integer
  4987.    Tmp = Text1.Text
  4988.    Title = "Insert 'a' from 7 char into [" & Tmp & "] is " & vbCr & vbCr
  4989.    Tmp1 = Title & cInsertChars(Tmp, 7, "a") & vbCr & vbCr
  4990.    Title = "Insert '10$' from 2 char into [" & Tmp & "] is " & vbCr & vbCr
  4991.    Tmp1 = Tmp1 & Title & cInsertChars(Tmp, 2, "10$") & vbCr & vbCr
  4992.    Title = "Insert '@' from 21 char into [" & Tmp & "] is " & vbCr & vbCr
  4993.    Tmp1 = Tmp1 & Title & cInsertChars(Tmp, 21, "@") & vbCr & vbCr
  4994.    cStartBasisTimer
  4995.    For i = 1 To Item
  4996.       Tmp2 = cInsertChars(Tmp, 1, "a")
  4997.    Next i
  4998.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4999.    Label3.Caption = Tmp1
  5000. End Sub
  5001. Private Sub TestIntoBalance()
  5002.    Dim Title      As String
  5003.    Dim Tmp        As String
  5004.    Dim Tmp1       As String
  5005.    Dim Tmp2       As String
  5006.    Dim i          As Integer
  5007.    Dim j          As Integer
  5008.    j = 1234
  5009.    Title = "Convert minutes into balance : " & vbCr & vbCr
  5010.    Tmp1 = Title & vbCr
  5011.    For i = 0 To 11
  5012.       Tmp1 = Tmp1 & (j + i) & " { " & cIntoBalanceFill(j + i) & " }" & Chr$(9) & Chr$(9)
  5013.       Tmp1 = Tmp1 & "{ " & cIntoBalance(j + i) & " }" & vbCr
  5014.    Next i
  5015.    Tmp1 = Tmp1 & vbCr
  5016.    cStartBasisTimer
  5017.    For i = 1 To Item
  5018.       Tmp2 = cIntoBalanceFill(i)
  5019.    Next i
  5020.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5021.    Label3.Caption = Tmp1
  5022. End Sub
  5023. Private Sub TestIntoFixHour()
  5024.    Dim Title      As String
  5025.    Dim Tmp        As String
  5026.    Dim Tmp1       As String
  5027.    Dim Tmp2       As String
  5028.    Dim i          As Integer
  5029.    Dim j          As Integer
  5030.    j = 12345
  5031.    Title = "Convert " & j & " minutes into fixed hour : " & vbCr & vbCr
  5032.    Tmp1 = Title & vbCr
  5033.    For i = 0 To 11
  5034.       Tmp1 = Tmp1 & "{ " & cIntoFixHour(j, i, True, False) & " }" & Chr$(9) & Chr$(9)
  5035.       Tmp1 = Tmp1 & "{ " & cIntoFixHour(j, i, False, False) & " }" & vbCr
  5036.    Next i
  5037.    Tmp1 = Tmp1 & vbCr
  5038.    cStartBasisTimer
  5039.    For i = 1 To Item
  5040.       Tmp2 = cIntoFixHour(12345, 8, True, False)
  5041.    Next i
  5042.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5043.    Label3.Caption = Tmp1
  5044. End Sub
  5045. Private Sub TestIntoHour()
  5046.    Dim Title      As String
  5047.    Dim Tmp        As String
  5048.    Dim Tmp1       As String
  5049.    Dim Tmp2       As String
  5050.    Dim i          As Integer
  5051.    Dim j          As Integer
  5052.    j = 1234
  5053.    Title = "Convert minutes into hour : " & vbCr & vbCr
  5054.    Tmp1 = Title & vbCr
  5055.    For i = 0 To 11
  5056.       Tmp1 = Tmp1 & (j + i) & " { " & cIntoHour(j + i) & " }" & vbCr
  5057.    Next i
  5058.    Tmp1 = Tmp1 & vbCr
  5059.    cStartBasisTimer
  5060.    For i = 1 To Item
  5061.       Tmp2 = cIntoHour(i)
  5062.    Next i
  5063.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5064.    Label3.Caption = Tmp1
  5065. End Sub
  5066. Private Sub TestIntoVarHour()
  5067.    Dim Title      As String
  5068.    Dim Tmp        As String
  5069.    Dim Tmp1       As String
  5070.    Dim Tmp2       As String
  5071.    Dim i          As Integer
  5072.    Dim j          As Integer
  5073.    Dim k          As Long
  5074.                             
  5075.    Title = "Convert minutes into variable hour : " & vbCr & vbCr
  5076.    Tmp1 = Title & vbCr
  5077.    For i = 1 To 9
  5078.       Tmp2 = Tmp2 & (10 - i)
  5079.       Tmp1 = Tmp1 & Tmp2 & " { " & cIntoVarHour(Val(Tmp2)) & " }" & vbCr
  5080.    Next i
  5081.    Tmp1 = Tmp1 & vbCr
  5082.    cStartBasisTimer
  5083.    For i = 1 To Item
  5084.       Tmp2 = cIntoVarHour(123456789)
  5085.    Next i
  5086.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5087.    Label3.Caption = Tmp1
  5088. End Sub
  5089. Private Sub TestIsBitPalindrome()
  5090.    Dim Title      As String
  5091.    Dim Tmp        As String
  5092.    Dim Tmp1       As String
  5093.    Dim Tmp2       As String
  5094.    Dim i          As Integer
  5095.    Dim j          As Integer
  5096.    Tmp = Text1.Text
  5097.    Title = "[" & Tmp & "] is "
  5098.    Tmp1 = Title & IIf(cIsPalindrome(Tmp), "a Bit Palindrome", " not a Bit Palindrome") & vbCr & vbCr
  5099.    For i = 1 To 255
  5100.       If cIsBitPalindrome(Chr$(i)) Then Tmp2 = Tmp2 + Chr$(i) & "(" & i & ")" & Chr$(9)
  5101.    Next i
  5102.    Title = "The followings chars are Bit Palindrome : " & vbCr & vbCr
  5103.    Tmp1 = Tmp1 & Title & Tmp2 & vbCr & vbCr
  5104.    cStartBasisTimer
  5105.    For i = 1 To Item
  5106.       j = cIsPalindrome(Tmp)
  5107.    Next i
  5108.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5109.    Label3.Caption = Tmp1
  5110. End Sub
  5111. Private Sub TestIsFileX()
  5112.    Dim Title      As String
  5113.    Dim Tmp        As String
  5114.    Dim Tmp1       As String
  5115.    Dim Tmp2       As String
  5116.    Dim i          As Integer
  5117.    Dim j          As Integer
  5118.    Tmp = cFilesInDirectory("*.*", True)
  5119.    Title = "[" & Tmp & "] is "
  5120.    Tmp1 = Title & vbCr & vbCr
  5121.    Tmp1 = Tmp1 & IIf(cIsFilenameValid(Tmp), " a good filename", " is not a good filename") & vbCr
  5122.    Tmp1 = Tmp1 & IIf(cIsFileArchive(Tmp), " archive", " not archive") & vbCr
  5123.    Tmp1 = Tmp1 & IIf(cIsFileHidden(Tmp), " hidden", " not hidden") & vbCr
  5124.    Tmp1 = Tmp1 & IIf(cIsFileNormal(Tmp), " normal", " not normal") & vbCr
  5125.    Tmp1 = Tmp1 & IIf(cIsFileReadOnly(Tmp), " read-only", " not read-only") & vbCr
  5126.    Tmp1 = Tmp1 & IIf(cIsFileSubDir(Tmp), " sub-directory", " not sub-directory") & vbCr
  5127.    Tmp1 = Tmp1 & IIf(cIsFileSystem(Tmp), " system", " not system") & vbCr
  5128.    Tmp1 = Tmp1 & IIf(cIsFileVolId(Tmp), " volume-id", " not volume-id") & vbCr & vbCr
  5129.    cStartBasisTimer
  5130.    For i = 1 To Item
  5131.       j = cIsFileArchive(Tmp)
  5132.    Next i
  5133.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5134.    Label3.Caption = Tmp1
  5135. End Sub
  5136. Private Sub TestIsPalindrome()
  5137.    Dim Title      As String
  5138.    Dim Tmp        As String
  5139.    Dim Tmp1       As String
  5140.    Dim Tmp2       As String
  5141.    Dim i          As Integer
  5142.    Dim j          As Integer
  5143.    Tmp = Text1.Text
  5144.    Title = "[" & Tmp & "] is "
  5145.    Tmp1 = Title & IIf(cIsPalindrome(Tmp), "a Palindrome", " not a Palindrome") & vbCr & vbCr
  5146.    cStartBasisTimer
  5147.    For i = 1 To Item
  5148.       j = cIsPalindrome(Tmp)
  5149.    Next i
  5150.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5151.    Label3.Caption = Tmp1
  5152. End Sub
  5153. Private Sub TestIsX()
  5154.    Dim Title      As String
  5155.    Dim Tmp        As String
  5156.    Dim Tmp1       As String
  5157.    Dim Tmp2       As String
  5158.    Dim i          As Integer
  5159.    Dim j          As Integer
  5160.    Tmp = Text1.Text
  5161.    Tmp1 = "[" & Tmp & "] is " & vbCr
  5162.    Tmp1 = Tmp1 & IIf(cIsDigit(Tmp), "Digit", " not Digit") & vbCr
  5163.    Tmp1 = Tmp1 & IIf(cIsXdigit(Tmp), "XDigit", " not XDigit") & vbCr
  5164.    Tmp1 = Tmp1 & IIf(cIsAlpha(Tmp), "Alpha", " not Alpha") & vbCr
  5165.    Tmp1 = Tmp1 & IIf(cIsLower(Tmp), "Lower", " not Lower") & vbCr
  5166.    Tmp1 = Tmp1 & IIf(cIsUpper(Tmp), "Upper", " not Upper") & vbCr
  5167.    Tmp1 = Tmp1 & IIf(cIsAlnum(Tmp), "Alnum", " not Alnum") & vbCr
  5168.    Tmp1 = Tmp1 & IIf(cIsUpper(Tmp), "Upper", " not Upper") & vbCr
  5169.    Tmp1 = Tmp1 & IIf(cIsSpace(Tmp), "Space", " not Space") & vbCr
  5170.    Tmp1 = Tmp1 & IIf(cIsPunct(Tmp), "Punct", " not Punct") & vbCr
  5171.    Tmp1 = Tmp1 & IIf(cIsAscii(Tmp), "Ascii", " not Ascii") & vbCr
  5172.    Tmp1 = Tmp1 & IIf(cIsCsym(Tmp), "Csym", " not Csym") & vbCr
  5173.    Tmp1 = Tmp1 & IIf(cIsCsymf(Tmp), "Csymf", " not Csymf") & vbCr
  5174.    Tmp1 = Tmp1 & IIf(cIsISBN(Tmp), "ISBN", " not ISBN") & vbCr & vbCr
  5175.    cStartBasisTimer
  5176.    For i = 1 To Item
  5177.       j = cIsDigit(Tmp)
  5178.    Next i
  5179.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5180.    Label3.Caption = Tmp1
  5181. End Sub
  5182. Private Sub TestKillDir()
  5183.    Dim Title      As String
  5184.    Dim Tmp        As String
  5185.    Dim Tmp1       As String
  5186.    Dim Tmp2       As String
  5187.    Dim i          As Integer
  5188.    Dim j          As Integer
  5189.    j = cMakeDir("c:\testing")
  5190.    Tmp1 = "Directory 'TESTING' " & IIf(cKillDir("c:\testing") = True, "deleted", "not deleted") & vbCr & vbCr
  5191.    cStartBasisTimer
  5192.    For i = 1 To ItemFile
  5193.       j = cKillDir("c:\testing")
  5194.    Next i
  5195.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5196.    Label3.Caption = Tmp1
  5197. End Sub
  5198. Private Sub TestKillFile()
  5199.    Dim Title      As String
  5200.    Dim Tmp        As String
  5201.    Dim Tmp1       As String
  5202.    Dim Tmp2       As String
  5203.    Dim i          As Integer
  5204.    Dim j          As Integer
  5205.    Close #1
  5206.    Open "XY~YX~XY.~~~" For Output As #1
  5207.    Print #1, "this is a test";
  5208.    Close #1
  5209.    Tmp1 = "File XY~YX~XY.~~~ " & IIf(cKillFile("XY~YX~XY.~~~") = True, "destroyed", "not destroyed") & vbCr & vbCr
  5210.    cStartBasisTimer
  5211.    For i = 1 To Item
  5212.       j = cKillFile("XY~YX~XY.~~~")
  5213.    Next i
  5214.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5215.    Label3.Caption = Tmp1
  5216. End Sub
  5217. Private Sub TestKillFiles()
  5218.    Dim Title      As String
  5219.    Dim Tmp        As String
  5220.    Dim Tmp1       As String
  5221.    Dim Tmp2       As String
  5222.    Dim i          As Integer
  5223.    Dim j          As Integer
  5224.    For i = 1 To 34
  5225.       Close #1
  5226.       Open "C:\XY~YX~XY." & i For Output As #1
  5227.       Print #1, "this is a test";
  5228.       Close #1
  5229.    Next i
  5230.    Tmp1 = "Number of killed Files from 'C:XY~YX~XY.1' to 'C:XY~YX~XY.34' is " & cKillFiles("C:\XY~YX~XY.*") & vbCr & vbCr
  5231.    cStartBasisTimer
  5232.    For i = 1 To ItemFile
  5233.       j = cKillFiles("C:\XY~YX~XY.~~~")
  5234.    Next i
  5235.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5236.    Label3.Caption = Tmp1
  5237. End Sub
  5238. Private Sub TestLanguage()
  5239.    Dim Title      As String
  5240.    Dim Tmp        As String
  5241.    Dim Tmp1       As String
  5242.    Dim Tmp2       As String
  5243.    Dim i          As Integer
  5244.    Dim j          As Integer
  5245.    Dim k          As Long
  5246.    Dim ErrCode    As Integer
  5247.    ReDim Lng(LNG_FRENCH To LNG_NORVEGIAN)
  5248.    k = Int(Now)
  5249.    Lng(LNG_FRENCH) = "LNG_FRENCH"
  5250.    Lng(LNG_DUTCH) = "LNG_DUTCH"
  5251.    Lng(LNG_GERMAN) = "LNG_GERMAN"
  5252.    Lng(LNG_ENGLISH) = "LNG_ENGLISH"
  5253.    Lng(LNG_ITALIAN) = "LNG_ITALIAN"
  5254.    Lng(LNG_SPANISH) = "LNG_SPANISH"
  5255.    Lng(LNG_CATALAN) = "LNG_CATALAN"
  5256.    Lng(LNG_POLISH) = "LNG_POLISH"
  5257.    Lng(LNG_NORVEGIAN) = "LNG_NORVEGIAN"
  5258.    Tmp1 = ""
  5259.    For i = LNG_FRENCH To LNG_NORVEGIAN
  5260.       Tmp1 = Tmp1 + Lng(i) + " : " + cGetLongDay(i, WeekDay(k)) & " " & Day(k) & " " & cGetLongMonth(i, Month(k)) & " " & Year(k) & vbCr
  5261.    Next i
  5262.    Tmp1 = Tmp1 + vbCr
  5263.    For i = LNG_FRENCH To LNG_NORVEGIAN
  5264.       Tmp1 = Tmp1 + Lng(i) + " : " + cGetShortDay(i, WeekDay(k)) & " " & Day(k) & " " & cGetShortMonth(i, Month(k)) & " " & Year(k) & vbCr
  5265.    Next i
  5266.    Tmp1 = Tmp1 + vbCr
  5267.    cStartBasisTimer
  5268.    For i = 1 To Item
  5269.       Tmp = cGetLongMonth(LNG_FRENCH, 12)
  5270.    Next i
  5271.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5272.    Label3.Caption = Tmp1
  5273. End Sub
  5274. Private Sub TestLrc()
  5275.    Dim Title      As String
  5276.    Dim Tmp        As String
  5277.    Dim Tmp1       As String
  5278.    Dim Tmp2       As String
  5279.    Dim i          As Integer
  5280.    Dim j          As Integer
  5281.    Tmp = Chr$(2) & "0a12721536"
  5282.    Tmp1 = "Lrc for [" & Tmp & "] is " & cLrc(Tmp) & vbCr & vbCr
  5283.    cStartBasisTimer
  5284.    For i = 1 To Item
  5285.       Tmp2 = cLrc(Tmp)
  5286.    Next i
  5287.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5288.    Label3.Caption = Tmp1
  5289. End Sub
  5290. Private Sub TestMakeDir()
  5291.    Dim Title      As String
  5292.    Dim Tmp        As String
  5293.    Dim Tmp1       As String
  5294.    Dim Tmp2       As String
  5295.    Dim i          As Integer
  5296.    Dim j          As Integer
  5297.    j = cKillDir("testing")
  5298.    Tmp1 = "Directory 'TESTING' " & IIf(cMakeDir("testing") = True, "created", "not created") & vbCr & vbCr
  5299.    cStartBasisTimer
  5300.    For i = 1 To ItemFile
  5301.       j = cMakeDir("testing")
  5302.    Next i
  5303.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5304.    Label3.Caption = Tmp1
  5305. End Sub
  5306. Private Sub TestMakePath()
  5307.    Dim Title      As String
  5308.    Dim Tmp        As String
  5309.    Dim Tmp1       As String
  5310.    Dim Tmp2       As String
  5311.    Dim Tmp3       As String
  5312.    Dim i          As Integer
  5313.    Dim n          As Integer
  5314.    Dim j          As Long
  5315.    Dim SPLITPATH  As tagSPLITPATH
  5316.    Tmp1 = ""
  5317.    Tmp = cMakePath("c", "tmp", "test", "dat")
  5318.    Tmp1 = Tmp1 & "Make Path of (c,tmp,test,dat) is '" & Tmp & "'" & vbCr & vbCr
  5319.    Tmp1 = Tmp1 & "Split Path '" & Tmp & "' into four components is :" & vbCr & vbCr
  5320.    n = cSplitPath(Tmp, SPLITPATH)
  5321.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDrive & vbCr
  5322.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDir & vbCr
  5323.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nName & vbCr
  5324.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nExt & vbCr & vbCr
  5325.    cStartBasisTimer
  5326.    For i = 1 To Item
  5327.       Tmp = cMakePath("c", "tmp", "test", "dat")
  5328.    Next i
  5329.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & vbCr & vbCr
  5330.    Label3.Caption = Tmp1
  5331. End Sub
  5332. Private Sub TestMatrixAdd()
  5333.    Dim Tmp1       As String
  5334.    Dim TmpA       As String
  5335.    Dim TmpB       As String
  5336.    Dim TmpC       As String
  5337.    Dim i          As Integer
  5338.    Dim j          As Integer
  5339.    ReDim ArrayA(1 To 3, 1 To 3) As Double
  5340.    ReDim ArrayB(1 To 3, 1 To 3) As Double
  5341.    ReDim ArrayC(1 To 3, 1 To 3) As Double
  5342.    Randomize Timer
  5343.    For i = 1 To 3
  5344.       For j = 1 To 3
  5345.          ArrayA(i, j) = Int(RandI * Rnd(1))
  5346.          ArrayB(i, j) = Int(RandI * Rnd(1))
  5347.          ArrayC(i, j) = 0
  5348.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  5349.          TmpB = TmpB + Format$(ArrayB(i, j), "00000  ")
  5350.       Next j
  5351.       TmpA = TmpA + vbCr
  5352.       TmpB = TmpB + vbCr
  5353.    Next i
  5354.    Call cMatrixAdd(3, ArrayA(), ArrayB(), ArrayC())
  5355.    For i = 1 To 3
  5356.       For j = 1 To 3
  5357.          TmpC = TmpC + Format$(ArrayC(i, j), "00000  ")
  5358.       Next j
  5359.       TmpC = TmpC + vbCr
  5360.    Next i
  5361.    Tmp1 = Tmp1 & "First array (A) is " & vbCr & vbCr & TmpA & vbCr
  5362.    Tmp1 = Tmp1 & "Second array (B) is " & vbCr & vbCr & TmpB & vbCr
  5363.    Tmp1 = Tmp1 & "The sum (A) + (B) = (C) is " & vbCr & vbCr & TmpC & vbCr
  5364.    cStartBasisTimer
  5365.    For i = 1 To ItemFile
  5366.       Call cMatrixAdd(3, ArrayA(), ArrayB(), ArrayC())
  5367.    Next i
  5368.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5369.    Label3.Caption = Tmp1
  5370. End Sub
  5371. Private Sub TestMatrixCompare()
  5372.    Dim Tmp1       As String
  5373.    Dim TmpA       As String
  5374.    Dim TmpC       As String
  5375.    Dim i          As Integer
  5376.    Dim j          As Integer
  5377.    Dim Idem       As Integer
  5378.    ReDim ArrayA(1 To 3, 1 To 3) As Double
  5379.    ReDim ArrayC(1 To 3, 1 To 3) As Double
  5380.    Randomize Timer
  5381.    For i = 1 To 3
  5382.       For j = 1 To 3
  5383.          ArrayA(i, j) = Int(RandI * Rnd(1))
  5384.          ArrayC(i, j) = Int(RandI * Rnd(1))
  5385.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  5386.          TmpC = TmpC + Format$(ArrayC(i, j), "00000  ")
  5387.       Next j
  5388.       TmpA = TmpA + vbCr
  5389.       TmpC = TmpC + vbCr
  5390.    Next i
  5391.    Idem = cMatrixCompare(3, ArrayA(), ArrayC())
  5392.    Tmp1 = Tmp1 & "First array (A) is " & vbCr & vbCr & TmpA & vbCr
  5393.    Tmp1 = Tmp1 & "Second array (C) is " & vbCr & vbCr & TmpC & vbCr
  5394.    Tmp1 = Tmp1 & "Compare of (A) = (C) is " & Idem & vbCr & vbCr
  5395.    TmpA = ""
  5396.    TmpC = ""
  5397.    For i = 1 To 3
  5398.       For j = 1 To 3
  5399.          ArrayA(i, j) = Int(RandI * Rnd(1))
  5400.          ArrayC(i, j) = ArrayA(i, j)
  5401.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  5402.          TmpC = TmpC + Format$(ArrayC(i, j), "00000  ")
  5403.       Next j
  5404.       TmpA = TmpA + vbCr
  5405.       TmpC = TmpC + vbCr
  5406.    Next i
  5407.    Idem = cMatrixCompare(3, ArrayA(), ArrayC())
  5408.    Tmp1 = Tmp1 & "First array (A) is " & vbCr & vbCr & TmpA & vbCr
  5409.    Tmp1 = Tmp1 & "Second array (C) is " & vbCr & vbCr & TmpC & vbCr
  5410.    Tmp1 = Tmp1 & "Compare of (A) = (C) is " & Idem & vbCr & vbCr
  5411.    cStartBasisTimer
  5412.    For i = 1 To ItemFile
  5413.       Idem = cMatrixCompare(3, ArrayA(), ArrayC())
  5414.    Next i
  5415.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5416.    Label3.Caption = Tmp1
  5417. End Sub
  5418. Private Sub TestMatrixCopy()
  5419.    Dim Tmp1       As String
  5420.    Dim TmpA       As String
  5421.    Dim TmpC       As String
  5422.    Dim i          As Integer
  5423.    Dim j          As Integer
  5424.    ReDim ArrayA(1 To 3, 1 To 3) As Double
  5425.    ReDim ArrayC(1 To 3, 1 To 3) As Double
  5426.    Randomize Timer
  5427.    For i = 1 To 3
  5428.       For j = 1 To 3
  5429.          ArrayA(i, j) = Int(RandI * Rnd(1))
  5430.          ArrayC(i, j) = 0
  5431.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  5432.       Next j
  5433.       TmpA = TmpA + vbCr
  5434.    Next i
  5435.    Call cMatrixCopy(3, ArrayA(), ArrayC())
  5436.    For i = 1 To 3
  5437.       For j = 1 To 3
  5438.          TmpC = TmpC + Format$(ArrayC(i, j), "00000  ")
  5439.       Next j
  5440.       TmpC = TmpC + vbCr
  5441.    Next i
  5442.    Tmp1 = Tmp1 & "First array (A) is " & vbCr & vbCr & TmpA & vbCr
  5443.    Tmp1 = Tmp1 & "Copy of (A) = (C) is " & vbCr & vbCr & TmpC & vbCr
  5444.    cStartBasisTimer
  5445.    For i = 1 To ItemFile
  5446.       Call cMatrixCopy(3, ArrayA(), ArrayC())
  5447.    Next i
  5448.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5449.    Label3.Caption = Tmp1
  5450. End Sub
  5451. Private Sub TestMatrixDet()
  5452.    Dim Tmp1       As String
  5453.    Dim TmpA       As String
  5454.    Dim TmpC       As String
  5455.    Dim i          As Integer
  5456.    Dim j          As Integer
  5457.    Dim det        As Double
  5458.    Dim nSize      As Integer
  5459.    nSize = 3
  5460.    ReDim ArrayA(1 To nSize, 1 To nSize) As Double
  5461.    Randomize Timer
  5462.    For i = 1 To nSize
  5463.       For j = 1 To nSize
  5464.          ArrayA(i, j) = Int(RandI * Rnd(1))
  5465.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  5466.       Next j
  5467.       TmpA = TmpA + vbCr
  5468.    Next i
  5469.    Tmp1 = Tmp1 & "First array (A) is " & vbCr & vbCr & TmpA & vbCr
  5470.    Tmp1 = Tmp1 & "Det of (A) = " & cMatrixDet(nSize, ArrayA()) & vbCr & vbCr
  5471.    cStartBasisTimer
  5472.    For i = 1 To ItemFile
  5473.       det = cMatrixDet(nSize, ArrayA())
  5474.       DoEvents
  5475.    Next i
  5476.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5477.    Label3.Caption = Tmp1
  5478. End Sub
  5479. Private Sub TestMatrixInv()
  5480.    Dim Tmp1       As String
  5481.    Dim TmpA       As String
  5482.    Dim TmpC       As String
  5483.    Dim i          As Integer
  5484.    Dim j          As Integer
  5485.    Dim result     As Integer
  5486.    ReDim ArrayA(1 To 3, 1 To 3) As Double
  5487.    ReDim ArrayC(1 To 3, 1 To 3) As Double
  5488.    Randomize Timer
  5489.    result = cMatrixFill(3, ArrayA(), MATRIX_ZERO)
  5490.    result = cMatrixFill(3, ArrayC(), MATRIX_UNIT)
  5491.    For i = 1 To 3
  5492.       For j = 1 To 3
  5493.          ArrayA(i, j) = Int(RandI * Rnd(1))
  5494.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  5495.       Next j
  5496.       TmpA = TmpA + vbCr
  5497.    Next i
  5498.    result = cMatrixInv(3, ArrayA(), ArrayC())
  5499.    If (result = True) Then
  5500.       For i = 1 To 3
  5501.          For j = 1 To 3
  5502.             TmpC = TmpC + Format$(ArrayC(i, j), "0.0000000  ")
  5503.          Next j
  5504.          TmpC = TmpC + vbCr
  5505.       Next i
  5506.    Else
  5507.       TmpC = " 'can be inverted'"
  5508.    End If
  5509.    Tmp1 = Tmp1 & "First array (A) is " & vbCr & TmpA & vbCr
  5510.    Tmp1 = Tmp1 & "Inv of (A) = (C) is " & vbCr & TmpC & vbCr
  5511.    TmpA = ""
  5512.    TmpC = ""
  5513.    result = cMatrixFill(3, ArrayA(), MATRIX_ZERO)
  5514.    result = cMatrixFill(3, ArrayC(), MATRIX_ZERO)
  5515.    For i = 1 To 3
  5516.       For j = 1 To 3
  5517.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  5518.       Next j
  5519.       TmpA = TmpA + vbCr
  5520.    Next i
  5521.    result = cMatrixInv(3, ArrayA(), ArrayC())
  5522.    If (result = True) Then
  5523.       For i = 1 To 3
  5524.          For j = 1 To 3
  5525.             TmpC = TmpC + Format$(ArrayC(i, j), "0.0000000  ")
  5526.          Next j
  5527.          TmpC = TmpC + vbCr
  5528.       Next i
  5529.    Else
  5530.       TmpC = " 'can be inverted'"
  5531.    End If
  5532.    Tmp1 = Tmp1 & "First array (A) is " & vbCr & TmpA & vbCr
  5533.    Tmp1 = Tmp1 & "Inv of (A) = (C) is " & vbCr & TmpC & vbCr & vbCr
  5534.    For i = 1 To 3
  5535.       For j = 1 To 3
  5536.          ArrayA(i, j) = Int(RandI * Rnd(1))
  5537.       Next j
  5538.    Next i
  5539.    cStartBasisTimer
  5540.    For i = 1 To ItemFile
  5541.       result = cMatrixInv(3, ArrayA(), ArrayC())
  5542.    Next i
  5543.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5544.    Label3.Caption = Tmp1
  5545. End Sub
  5546. Private Sub TestMatrixMinCo()
  5547.    Dim Tmp1       As String
  5548.    Dim TmpA       As String
  5549.    Dim TmpC       As String
  5550.    Dim i          As Integer
  5551.    Dim j          As Integer
  5552.    Dim cofact     As Double
  5553.    Dim nSize      As Integer
  5554.    nSize = 3
  5555.    ReDim ArrayA(1 To nSize, 1 To nSize) As Double
  5556.    Randomize Timer
  5557.    For i = 1 To nSize
  5558.       For j = 1 To nSize
  5559.          ArrayA(i, j) = Int(RandI * Rnd(1))
  5560.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  5561.       Next j
  5562.       TmpA = TmpA + vbCr
  5563.    Next i
  5564.    Tmp1 = Tmp1 & "First array (A) is " & vbCr & vbCr & TmpA & vbCr & vbCr
  5565.    Tmp1 = Tmp1 & "CoFactor of A(1,1) = " & cMatrixCoFactor(nSize, ArrayA(), 1, 1) & vbCr
  5566.    Tmp1 = Tmp1 & "CoFactor of A(2,2) = " & cMatrixCoFactor(nSize, ArrayA(), 2, 2) & vbCr
  5567.    Tmp1 = Tmp1 & "CoFactor of A(3,3) = " & cMatrixCoFactor(nSize, ArrayA(), 3, 3) & vbCr & vbCr
  5568.    Tmp1 = Tmp1 & "Minor of A(1,1) = " & cMatrixMinor(nSize, ArrayA(), 1, 1) & vbCr
  5569.    Tmp1 = Tmp1 & "Minor of A(2,2) = " & cMatrixMinor(nSize, ArrayA(), 2, 2) & vbCr
  5570.    Tmp1 = Tmp1 & "Minor of A(3,3) = " & cMatrixMinor(nSize, ArrayA(), 3, 3) & vbCr & vbCr
  5571.    cStartBasisTimer
  5572.    For i = 1 To ItemFile
  5573.       cofact = cMatrixCoFactor(nSize, ArrayA(), 1, 1)
  5574.    Next i
  5575.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5576.    Label3.Caption = Tmp1
  5577. End Sub
  5578. Private Sub TestMatrixMul()
  5579.    Dim Tmp1       As String
  5580.    Dim TmpA       As String
  5581.    Dim TmpB       As String
  5582.    Dim TmpC       As String
  5583.    Dim i          As Integer
  5584.    Dim j          As Integer
  5585.    ReDim ArrayA(1 To 3, 1 To 3) As Double
  5586.    ReDim ArrayB(1 To 3, 1 To 3) As Double
  5587.    ReDim ArrayC(1 To 3, 1 To 3) As Double
  5588.    Randomize Timer
  5589.    For i = 1 To 3
  5590.       For j = 1 To 3
  5591.          ArrayA(i, j) = Int(RandI * Rnd(1))
  5592.          ArrayB(i, j) = Int(RandI * Rnd(1))
  5593.          ArrayC(i, j) = 0
  5594.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  5595.          TmpB = TmpB + Format$(ArrayB(i, j), "00000  ")
  5596.       Next j
  5597.       TmpA = TmpA + vbCr
  5598.       TmpB = TmpB + vbCr
  5599.    Next i
  5600.    Call cMatrixMul(3, ArrayA(), ArrayB(), ArrayC())
  5601.    For i = 1 To 3
  5602.       For j = 1 To 3
  5603.          TmpC = TmpC + Format$(ArrayC(i, j), "000000000000  ")
  5604.       Next j
  5605.       TmpC = TmpC + vbCr
  5606.    Next i
  5607.    Tmp1 = Tmp1 & "First array (A) is " & vbCr & vbCr & TmpA & vbCr
  5608.    Tmp1 = Tmp1 & "Second array (B) is " & vbCr & vbCr & TmpB & vbCr
  5609.    Tmp1 = Tmp1 & "The multiply (A) . (B) = (C) is " & vbCr & vbCr & TmpC & vbCr
  5610.    cStartBasisTimer
  5611.    For i = 1 To ItemFile
  5612.       Call cMatrixMul(3, ArrayA(), ArrayB(), ArrayC())
  5613.    Next i
  5614.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5615.    Label3.Caption = Tmp1
  5616. End Sub
  5617. Private Sub TestMatrixSub()
  5618.    Dim Tmp1       As String
  5619.    Dim TmpA       As String
  5620.    Dim TmpB       As String
  5621.    Dim TmpC       As String
  5622.    Dim i          As Integer
  5623.    Dim j          As Integer
  5624.    ReDim ArrayA(1 To 3, 1 To 3) As Double
  5625.    ReDim ArrayB(1 To 3, 1 To 3) As Double
  5626.    ReDim ArrayC(1 To 3, 1 To 3) As Double
  5627.    Randomize Timer
  5628.    For i = 1 To 3
  5629.       For j = 1 To 3
  5630.          ArrayA(i, j) = Int(RandI * Rnd(1))
  5631.          ArrayB(i, j) = Int(RandI * Rnd(1))
  5632.          ArrayC(i, j) = 0
  5633.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  5634.          TmpB = TmpB + Format$(ArrayB(i, j), "00000  ")
  5635.       Next j
  5636.       TmpA = TmpA + vbCr
  5637.       TmpB = TmpB + vbCr
  5638.    Next i
  5639.    Call cMatrixSub(3, ArrayA(), ArrayB(), ArrayC())
  5640.    For i = 1 To 3
  5641.       For j = 1 To 3
  5642.          TmpC = TmpC + Format$(ArrayC(i, j), "00000  ")
  5643.       Next j
  5644.       TmpC = TmpC + vbCr
  5645.    Next i
  5646.    Tmp1 = Tmp1 & "First array (A) is " & vbCr & vbCr & TmpA & vbCr
  5647.    Tmp1 = Tmp1 & "Second array (B) is " & vbCr & vbCr & TmpB & vbCr
  5648.    Tmp1 = Tmp1 & "The substract (A) - (B) = (C) is " & vbCr & vbCr & TmpC & vbCr
  5649.    cStartBasisTimer
  5650.    For i = 1 To ItemFile
  5651.       Call cMatrixSub(3, ArrayA(), ArrayB(), ArrayC())
  5652.    Next i
  5653.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5654.    Label3.Caption = Tmp1
  5655. End Sub
  5656. Private Sub TestMatrixSymToeplitz()
  5657.    Dim Tmp1       As String
  5658.    Dim TmpA       As String
  5659.    Dim TmpC       As String
  5660.    Dim i          As Integer
  5661.    Dim j          As Integer
  5662.    Dim result     As Integer
  5663.    ReDim ArrayA(1 To 3, 1 To 3) As Double
  5664.    ReDim ArrayC(1 To 3, 1 To 3) As Double
  5665.    Randomize Timer
  5666.    For i = 1 To 1
  5667.       For j = 1 To 3
  5668.          ArrayA(i, j) = Int(RandI * Rnd(1))
  5669.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  5670.       Next j
  5671.       TmpA = TmpA + vbCr
  5672.    Next i
  5673.    result = cMatrixSymToeplitz(3, ArrayA(), ArrayC())
  5674.    For i = 1 To 3
  5675.       For j = 1 To 3
  5676.          TmpC = TmpC + Format$(ArrayC(i, j), "00000  ")
  5677.       Next j
  5678.       TmpC = TmpC + vbCr
  5679.    Next i
  5680.    Tmp1 = Tmp1 & "First array (A) is " & vbCr & vbCr & TmpA & vbCr
  5681.    Tmp1 = Tmp1 & "Symmetrical Toeplitz of (A) = (C) is " & vbCr & vbCr & TmpC & vbCr
  5682.    cStartBasisTimer
  5683.    For i = 1 To ItemFile
  5684.       result = cMatrixSymToeplitz(3, ArrayA(), ArrayC())
  5685.    Next i
  5686.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5687.    Label3.Caption = Tmp1
  5688. End Sub
  5689. Private Sub TestMatrixTranspose()
  5690.    Dim Tmp1       As String
  5691.    Dim TmpA       As String
  5692.    Dim TmpC       As String
  5693.    Dim i          As Integer
  5694.    Dim j          As Integer
  5695.    ReDim ArrayA(1 To 3, 1 To 3) As Double
  5696.    ReDim ArrayC(1 To 3, 1 To 3) As Double
  5697.    Randomize Timer
  5698.    For i = 1 To 3
  5699.       For j = 1 To 3
  5700.          ArrayA(i, j) = Int(RandI * Rnd(1))
  5701.          ArrayC(i, j) = 0
  5702.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  5703.       Next j
  5704.       TmpA = TmpA + vbCr
  5705.    Next i
  5706.    Call cMatrixTranspose(3, ArrayA(), ArrayC())
  5707.    For i = 1 To 3
  5708.       For j = 1 To 3
  5709.          TmpC = TmpC + Format$(ArrayC(i, j), "00000  ")
  5710.       Next j
  5711.       TmpC = TmpC + vbCr
  5712.    Next i
  5713.    Tmp1 = Tmp1 & "First array (A) is " & vbCr & vbCr & TmpA & vbCr
  5714.    Tmp1 = Tmp1 & "Transpose of (A) = (C) is " & vbCr & vbCr & TmpC & vbCr
  5715.    cStartBasisTimer
  5716.    For i = 1 To ItemFile
  5717.       Call cMatrixTranspose(3, ArrayA(), ArrayC())
  5718.    Next i
  5719.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5720.    Label3.Caption = Tmp1
  5721. End Sub
  5722. Private Sub TestMaxI()
  5723.    Dim Title      As String
  5724.    Dim Tmp        As String
  5725.    Dim Tmp1       As String
  5726.    Dim Tmp2       As String
  5727.    Dim i          As Integer
  5728.    Dim j          As Integer
  5729.    Dim m          As Double
  5730.    ReDim array(ItemMean) As Integer
  5731.    Randomize Timer
  5732.    For i = LBound(array) To UBound(array)
  5733.       array(i) = RandI * Rnd(1)
  5734.       List1.AddItem "" & array(i)
  5735.    Next i
  5736.    j = cSortI(array())
  5737.    For i = LBound(array) To UBound(array)
  5738.       List2.AddItem "" & array(i)
  5739.    Next i
  5740.    List2.ListIndex = List2.ListCount - 1
  5741.    Tmp1 = "The MAX of a integer array of " & (ItemMean + 1) & " elements is " & vbCr & vbCr & cMaxI(array()) & vbCr & vbCr
  5742.    cStartBasisTimer
  5743.    For i = 1 To ItemFile
  5744.       m = cMaxI(array())
  5745.    Next i
  5746.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5747.    Label3.Caption = Tmp1
  5748. End Sub
  5749. Private Sub TestMD5()
  5750.    Dim Title      As String
  5751.    Dim Tmp        As String
  5752.    Dim Tmp1       As String
  5753.    Dim Tmp2       As String
  5754.    Dim Tmp3       As String
  5755.    Dim i          As Integer
  5756.    Dim j          As Long
  5757.    Tmp2 = "T2WIN-16"
  5758.    Tmp = Text1.Text
  5759.    Tmp1 = "HashMD5 for '" & Tmp2 & "' is " & cHashMD5(Tmp2) & vbCr & vbCr
  5760.    Tmp1 = Tmp1 & "HashMD5 for '" & Tmp & "' is " & cHashMD5(Tmp) & vbCr & vbCr
  5761.    Tmp1 = Tmp1 & "HashMD5 for '" & LCase$(Tmp2) & "' is " & cHashMD5(LCase$(Tmp2)) & vbCr & vbCr
  5762.    Tmp1 = Tmp1 & "HashMD5 for '" & LCase$(Tmp) & "' is " & cHashMD5(LCase$(Tmp)) & vbCr & vbCr
  5763.    Tmp1 = Tmp1 & "HashMD5 for '" & Left$(Tmp2, 3) & "' is " & cHashMD5(Left$(Tmp2, 3)) & vbCr & vbCr
  5764.    cStartBasisTimer
  5765.    For i = 1 To Item
  5766.       Tmp3 = cHashMD5(Tmp2)
  5767.    Next i
  5768.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5769.    Label3.Caption = Tmp1
  5770. End Sub
  5771. Private Sub TestMDA(Management As Integer)
  5772.    Dim Tmp        As String
  5773.    Dim ErrCode    As Integer
  5774.    Dim MDA        As tagMULTIPLEDISKARRAY
  5775.    Dim TE         As tagTASKENTRY
  5776.    ErrCode = cMakeDir("c:\t2w_tmp")
  5777.    MDA.nFilename = "c:\t2w_tmp\mda.tmp"
  5778.    MDA.nType(1) = DA_LONG     'long
  5779.    MDA.nIsTyped(1) = False
  5780.    MDA.nRows(1) = 20
  5781.    MDA.nCols(1) = 20
  5782.    MDA.nSheets(1) = 2
  5783.    MDA.nType(2) = 10          'string
  5784.    MDA.nIsTyped(2) = False
  5785.    MDA.nRows(2) = 20
  5786.    MDA.nCols(2) = 20
  5787.    MDA.nSheets(2) = 2
  5788.    MDA.nType(9) = Len(TE)     'type'd
  5789.    MDA.nIsTyped(9) = True
  5790.    MDA.nRows(9) = 20
  5791.    MDA.nCols(9) = 20
  5792.    MDA.nSheets(9) = 2
  5793.    Select Case Management
  5794.       Case True      'create
  5795.          ErrCode = cMDACreate(MDA, True)
  5796.       Case False     'use
  5797.          ErrCode = cMDACreate(MDA, False)
  5798.       Case 1         'clear all
  5799.          ErrCode = cMDACreate(MDA, False)
  5800.          If (ErrCode = -1) Then ErrCode = cMDAClear(1, MDA)
  5801.          If (ErrCode = -1) Then ErrCode = cMDAClear(2, MDA)
  5802.          If (ErrCode = -1) Then ErrCode = cMDAClear(9, MDA)
  5803.       Case 2         'clear sheet 2
  5804.          ErrCode = cMDACreate(MDA, False)
  5805.          If (ErrCode = -1) Then ErrCode = cMDAClearSheet(1, MDA, 2)
  5806.          If (ErrCode = -1) Then ErrCode = cMDAClearSheet(2, MDA, 2)
  5807.          If (ErrCode = -1) Then ErrCode = cMDAClearSheet(9, MDA, 2)
  5808.       Case 3         'clear last row
  5809.          ErrCode = cMDACreate(MDA, False)
  5810.          If (ErrCode = -1) Then ErrCode = cMDAClearRow(1, MDA, MDA.nRows(1), 1)
  5811.          If (ErrCode = -1) Then ErrCode = cMDAClearRow(2, MDA, MDA.nRows(2), 1)
  5812.          If (ErrCode = -1) Then ErrCode = cMDAClearRow(9, MDA, MDA.nRows(9), 1)
  5813.       Case 4         'clear last col
  5814.          ErrCode = cMDACreate(MDA, False)
  5815.          If (ErrCode = -1) Then ErrCode = cMDAClearCol(1, MDA, MDA.nCols(1), 1)
  5816.          If (ErrCode = -1) Then ErrCode = cMDAClearCol(2, MDA, MDA.nCols(2), 1)
  5817.          If (ErrCode = -1) Then ErrCode = cMDAClearCol(9, MDA, MDA.nCols(9), 1)
  5818.       Case 5         'clear last row in all sheets
  5819.          ErrCode = cMDACreate(MDA, False)
  5820.          If (ErrCode = -1) Then ErrCode = cMDAClearRow(1, MDA, MDA.nRows(1), -1)
  5821.          If (ErrCode = -1) Then ErrCode = cMDAClearRow(2, MDA, MDA.nRows(2), -1)
  5822.          If (ErrCode = -1) Then ErrCode = cMDAClearRow(9, MDA, MDA.nRows(9), -1)
  5823.       Case 6         'clear last col in all sheets
  5824.          ErrCode = cMDACreate(MDA, False)
  5825.          If (ErrCode = -1) Then ErrCode = cMDAClearCol(1, MDA, MDA.nCols(1), -1)
  5826.          If (ErrCode = -1) Then ErrCode = cMDAClearCol(2, MDA, MDA.nCols(2), -1)
  5827.          If (ErrCode = -1) Then ErrCode = cMDAClearCol(9, MDA, MDA.nCols(9), -1)
  5828.    End Select
  5829.    Tmp = Tmp & "ErrCode = " & ErrCode & vbCr & vbCr
  5830.    If (ErrCode = True) Then
  5831.       
  5832.       Tmp = Tmp & "MDA.daSize          = " & MDA.daSize & vbCr
  5833.       Tmp = Tmp & "MDA.Signature       = " & MDA.signature & vbCr
  5834.       Tmp = Tmp & "MDA.nFilename       = " & Trim$(MDA.nFilename) & vbCr
  5835.       Tmp = Tmp & "MDA.rHandle         = " & MDA.rHandle & vbCr
  5836.       Tmp = Tmp & "MDA.rFileSize       = " & MDA.rFileSize & vbCr & vbCr
  5837.       Tmp = Tmp & "MDA.nType(1)(2)(9)        = (" & MDA.nType(1) & ") (" & MDA.nType(2) & ") (" & MDA.nType(9) & ")" & vbCr
  5838.       Tmp = Tmp & "MDA.nIsTyped(1)(2)(9)     = (" & MDA.nIsTyped(1) & ") (" & MDA.nIsTyped(2) & ") (" & MDA.nIsTyped(9) & ")" & vbCr
  5839.       Tmp = Tmp & "MDA.nRows(1)(2)(9)        = (" & MDA.nRows(1) & ") (" & MDA.nRows(2) & ") (" & MDA.nRows(9) & ")" & vbCr
  5840.       Tmp = Tmp & "MDA.nCols(1)(2)(9)        = (" & MDA.nCols(1) & ") (" & MDA.nCols(2) & ") (" & MDA.nCols(9) & ")" & vbCr
  5841.       Tmp = Tmp & "MDA.nSheets(1)(2)(9)      = (" & MDA.nSheets(1) & ") (" & MDA.nSheets(2) & ") (" & MDA.nSheets(9) & ")" & vbCr
  5842.       Tmp = Tmp & "MDA.rElementSz(1)(2)(9)   = (" & MDA.rElementSz(1) & ") (" & MDA.rElementSz(2) & ") (" & MDA.rElementSz(9) & ")" & vbCr
  5843.       Tmp = Tmp & "MDA.rSheetSz(1)(2)(9)     = (" & MDA.rSheetSz(1) & ") (" & MDA.rSheetSz(2) & ") (" & MDA.rSheetSz(9) & ")" & vbCr
  5844.       Tmp = Tmp & "MDA.rOffsetPos(1)(2)(9)   = (" & MDA.rOffsetPos(1) & ") (" & MDA.rOffsetPos(2) & ") (" & MDA.rOffsetPos(9) & ")" & vbCr & vbCr
  5845.       If (Management = True) Then
  5846.          Call cMDAPut(1, MDA, 1, 1, 1, 123456789)
  5847.          Call cMDAPut(1, MDA, MDA.nRows(1), MDA.nCols(1), MDA.nSheets(1), 987654321)
  5848.       
  5849.          Call cMDAPut(2, MDA, 1, 1, 1, "S:1, ABCDEFGHIJ")
  5850.          Call cMDAPut(2, MDA, MDA.nRows(2), MDA.nCols(2), MDA.nSheets(2), "S:" & MDA.nSheets(2) & ", oprqstuvwxyz")
  5851.       
  5852.          ErrCode = cTasks(TE, True)
  5853.          Call cMDAPutType(9, MDA, 1, 1, 1, TE)
  5854.          ErrCode = cTasks(TE, False)
  5855.          Call cMDAPutType(9, MDA, MDA.nRows(9), MDA.nCols(9), MDA.nSheets(9), TE)
  5856.       
  5857.       End If
  5858.       Tmp = Tmp & "A:1  , R:1  , C:1  , S:1, Value : " & Trim$(cMDAGet(1, MDA, 1, 1, 1)) & "   , time : " & MDA.rTime & vbCr
  5859.       Tmp = Tmp & "A:1  , R:" & MDA.nRows(1) & ", C:" & MDA.nCols(1) & ", S:" & MDA.nSheets(1) & ", Value : " & Trim$(cMDAGet(1, MDA, MDA.nRows(1), MDA.nCols(1), MDA.nSheets(1))) & "   , time : " & MDA.rTime & vbCr
  5860.       Tmp = Tmp & "A:2  , R:1  , C:1  , S:1, Value : " & Trim$(cMDAGet(2, MDA, 1, 1, 1)) & "   , time : " & MDA.rTime & vbCr
  5861.       Tmp = Tmp & "A:2  , R:" & MDA.nRows(2) & ", C:" & MDA.nCols(2) & ", S:" & MDA.nSheets(2) & ", Value : " & Trim$(cMDAGet(2, MDA, MDA.nRows(2), MDA.nCols(2), MDA.nSheets(2))) & "   , time : " & MDA.rTime & vbCr
  5862.       Call cMDAGetType(9, MDA, 1, 1, 1, TE)
  5863.       Tmp = Tmp & "A:9  , R:1  , C:1  , S:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & MDA.rTime & vbCr
  5864.       Call cMDAGetType(9, MDA, MDA.nRows(9), MDA.nCols(9), MDA.nSheets(9), TE)
  5865.       Tmp = Tmp & "A:9  , R:" & MDA.nRows(9) & ", C:" & MDA.nCols(9) & ", S:" & MDA.nSheets(9) & ", TE.szModule : " & cCompress(TE.szModule) & "   , time : " & MDA.rTime & vbCr
  5866.    End If
  5867.    Call cMDAClose(MDA, False)
  5868.    Label3.Caption = Tmp
  5869. End Sub
  5870. Private Sub TestMeanI()
  5871.    Dim Title      As String
  5872.    Dim Tmp        As String
  5873.    Dim Tmp1       As String
  5874.    Dim Tmp2       As String
  5875.    Dim i          As Integer
  5876.    Dim j          As Integer
  5877.    Dim m          As Double
  5878.    ReDim array(ItemMean) As Integer
  5879.    Randomize Timer
  5880.    m = 0
  5881.    For i = LBound(array) To UBound(array)
  5882.       array(i) = Int(RandI * Rnd(1))
  5883.       m = m + array(i)
  5884.       List1.AddItem "" & array(i)
  5885.    Next i
  5886.    Tmp1 = "The Mean of a integer array of " & (ItemMean + 1) & " elements is " & vbCr & vbCr & cMeanI(array()) & " (" & (m / (UBound(array) - LBound(array) + 1)) & ")" & vbCr & vbCr
  5887.    cStartBasisTimer
  5888.    For i = 1 To ItemFile
  5889.       m = cMeanI(array())
  5890.    Next i
  5891.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5892.    Label3.Caption = Tmp1
  5893. End Sub
  5894. Private Sub TestMenuChange()
  5895.    Call cSysMenuChange(Me.hWnd, 0, "&Restaurer")
  5896.    Call cSysMenuChange(Me.hWnd, 1, "&Positionner")
  5897.    Call cSysMenuChange(Me.hWnd, 2, "&Taille")
  5898.    Call cSysMenuChange(Me.hWnd, 3, "&Ic
  5899.    Call cSysMenuChange(Me.hWnd, 4, "&Plein 
  5900. cran")
  5901.    Call cSysMenuChange(Me.hWnd, 6, "&Fermer" + Chr$(9) + "Alt+F4")
  5902.    Call cSysMenuChange(Me.hWnd, 8, "&T
  5903. che" + Chr$(9) + "Ctrl+Esc")
  5904. End Sub
  5905. Private Sub TestMin()
  5906.    Dim Title      As String
  5907.    Dim Tmp        As String
  5908.    Dim Tmp1       As String
  5909.    Dim Tmp2       As String
  5910.    Dim i          As Integer
  5911.    Dim j          As Long
  5912.    Tmp1 = "Min of [32760,1234567] is " & cMin(32760, 1234567) & vbCr
  5913.    Tmp1 = Tmp1 + "Max of [32760,1234567] is " & cMax(32760, 1234567) & vbCr
  5914.    cStartBasisTimer
  5915.    For i = 1 To Item
  5916.       j = cMin(32760, 1234567)
  5917.    Next i
  5918.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5919.    Label3.Caption = Tmp1
  5920. End Sub
  5921. Private Sub TestMinI()
  5922.    Dim Title      As String
  5923.    Dim Tmp        As String
  5924.    Dim Tmp1       As String
  5925.    Dim Tmp2       As String
  5926.    Dim i          As Integer
  5927.    Dim j          As Integer
  5928.    Dim m          As Double
  5929.    ReDim array(ItemMean) As Integer
  5930.    Randomize Timer
  5931.    For i = LBound(array) To UBound(array)
  5932.       array(i) = RandI * Rnd(1)
  5933.       List1.AddItem "" & array(i)
  5934.    Next i
  5935.    j = cSortI(array())
  5936.    For i = LBound(array) To UBound(array)
  5937.       List2.AddItem "" & array(i)
  5938.    Next i
  5939.    List2.ListIndex = 0
  5940.    Tmp1 = "The MIN of a integer array of " & (ItemMean + 1) & " elements is " & vbCr & vbCr & cMinI(array()) & vbCr & vbCr
  5941.    cStartBasisTimer
  5942.    For i = 1 To ItemFile
  5943.       m = cMinI(array())
  5944.    Next i
  5945.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5946.    Label3.Caption = Tmp1
  5947. End Sub
  5948. Private Sub TestMixChars()
  5949.    Dim Title      As String
  5950.    Dim Tmp        As String
  5951.    Dim Tmp1       As String
  5952.    Dim Tmp2       As String
  5953.    Dim i          As Integer
  5954.    Dim j          As Integer
  5955.                   
  5956.    Tmp = Text1.Text
  5957.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMixChars(Tmp) & vbCr & vbCr
  5958.    Tmp = "T2WIN-16"
  5959.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMixChars(Tmp) & vbCr & vbCr
  5960.    Tmp = "Nothing can beat the fox"
  5961.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMixChars(Tmp) & vbCr & vbCr
  5962.    Tmp = Text1.Text
  5963.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMixChars(Tmp) & vbCr & vbCr
  5964.                   
  5965.    cStartBasisTimer
  5966.    For i = 1 To Item
  5967.       Tmp2 = cMixChars(Tmp)
  5968.    Next i
  5969.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5970.    Label3.Caption = Tmp1
  5971. End Sub
  5972. Private Sub TestMnuLanguage()
  5973.    Load frmLng
  5974.    Call cShowWindow(frmLng.hWnd, 1, 340)
  5975.    frmLng.Show
  5976. End Sub
  5977. Private Sub TestMorse()
  5978.    Dim Title      As String
  5979.    Dim Tmp        As String
  5980.    Dim Tmp1       As String
  5981.    Dim Tmp2       As String
  5982.    Dim i          As Integer
  5983.    Dim j          As Integer
  5984.                   
  5985.    Tmp = "SOS"
  5986.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMorse(Tmp) & vbCr & vbCr
  5987.    Tmp = "T2WIN-16"
  5988.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMorse(Tmp) & vbCr & vbCr
  5989.    Tmp = "Nothing can beat the fox"
  5990.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMorse(Tmp) & vbCr & vbCr
  5991.    Tmp = Text1.Text
  5992.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMorse(Tmp) & vbCr & vbCr
  5993.                   
  5994.    cStartBasisTimer
  5995.    For i = 1 To Item
  5996.       Tmp2 = cMorse(Tmp)
  5997.    Next i
  5998.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5999.    Label3.Caption = Tmp1
  6000. End Sub
  6001. Private Sub TestMsgBox()
  6002.    Dim i       As Integer
  6003.    Dim n       As Integer
  6004.    Dim Tmp     As String
  6005.    Tmp = "'T2WIN-16'" & vbCr & vbCr
  6006.    Tmp = Tmp & " is a powerfull data link library for using with Visual Basic 3.0 for Windows." & vbCr & vbCr
  6007.    Tmp = Tmp & "It looks very better than the standard message box." & vbCr & vbCr
  6008.    Tmp = Tmp & "All push buttons are displayed in French." & vbCr & vbCr
  6009.    Tmp = Tmp & "The system menu is also in French." & vbCr & vbCr
  6010.    Tmp = Tmp & "A TimeOut of 10 seconds has been activated and displayed."
  6011.    For i = 0 To 5
  6012.       Call cLngBoxMsg(LNG_FRENCH, Tmp, i + (16 * i) + 512 + MB_MESSAGE_CENTER + MB_TIMEOUT_10 + MB_DISPLAY_TIMEOUT, "Message Box in French with TimeOut")
  6013.    Next i
  6014. End Sub
  6015. Private Sub TestOneCharFromLeft()
  6016.    Dim Title      As String
  6017.    Dim Tmp        As String
  6018.    Dim Tmp1       As String
  6019.    Dim Tmp2       As String
  6020.    Dim i          As Integer
  6021.    Dim j          As Integer
  6022.    Tmp = Text1.Text
  6023.    Title = "The 3,7,1 chars from left of [" & Tmp & "] are " & vbCr & vbCr
  6024.    Tmp = Text1.Text
  6025.    Tmp1 = Title & "3:" & cOneCharFromLeft(Tmp, 3) & " | 7:" & cOneCharFromLeft(Tmp, 7) & " | 1:" & cOneCharFromLeft(Tmp, 1) & vbCr & vbCr
  6026.    cStartBasisTimer
  6027.    For i = 1 To Item
  6028.       Tmp2 = cOneCharFromLeft(Tmp, 2)
  6029.    Next i
  6030.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6031.    Label3.Caption = Tmp1
  6032. End Sub
  6033. Private Sub TestOneCharFromRight()
  6034.    Dim Title      As String
  6035.    Dim Tmp        As String
  6036.    Dim Tmp1       As String
  6037.    Dim Tmp2       As String
  6038.    Dim i          As Integer
  6039.    Dim j          As Integer
  6040.    Tmp = Text1.Text
  6041.    Title = "The 3,7,1 chars from right of [" & Tmp & "] are " & vbCr & vbCr
  6042.    Tmp = Text1.Text
  6043.    Tmp1 = Title & "3:" & cOneCharFromRight(Tmp, 3) & " | 7:" & cOneCharFromRight(Tmp, 7) & " | 1:" & cOneCharFromRight(Tmp, 1) & vbCr & vbCr
  6044.    cStartBasisTimer
  6045.    For i = 1 To Item
  6046.       Tmp2 = cOneCharFromRight(Tmp, 2)
  6047.    Next i
  6048.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6049.    Label3.Caption = Tmp1
  6050. End Sub
  6051. Private Sub TestOrToken()
  6052.    Dim Title      As String
  6053.    Dim Tmp        As String
  6054.    Dim Tmp1       As String
  6055.    Dim Tmp2       As String
  6056.    Dim i          As Integer
  6057.    Dim j          As Integer
  6058.    Tmp = "FOX|OVER|THE"
  6059.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  6060.    Tmp1 = "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrToken(Tmp2, Tmp), "present", "not present") & vbCr & vbCr
  6061.    Tmp = "quick|jumps|the"
  6062.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  6063.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrToken(Tmp2, Tmp), "present", "not present") & vbCr & vbCr
  6064.    Tmp = "FOX\OVER\THE"
  6065.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  6066.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & vbCr & vbCr
  6067.    Tmp = "quick\jumps\the"
  6068.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  6069.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & vbCr & vbCr
  6070.    Tmp = "FOX/OVER/THE"
  6071.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  6072.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & vbCr & vbCr
  6073.    Tmp = "quick\JUMPS\the"
  6074.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  6075.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & vbCr & vbCr
  6076.    Tmp = LCase$("quick\jumps\THE")
  6077.    Tmp2 = LCase$("THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG")
  6078.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & vbCr & vbCr
  6079.    cStartBasisTimer
  6080.    For i = 1 To Item
  6081.       j = cOrToken(Tmp2, Tmp)
  6082.    Next i
  6083.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6084.    Label3.Caption = Tmp1
  6085. End Sub
  6086. Private Sub TestPatternExtMatch()
  6087.    Dim Title      As String
  6088.    Dim Tmp        As String
  6089.    Dim Tmp1       As String
  6090.    Dim Tmp2       As String
  6091.    Dim Tmp3       As String
  6092.    Dim i          As Integer
  6093.    Dim j          As Integer
  6094.    Tmp2 = "Under the blue sky, the sun lights"
  6095.    Tmp1 = "PatternExtMatch '" & Tmp2 & "' with" & vbCr & vbCr
  6096.    Tmp3 = "*"
  6097.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & vbCr
  6098.    Tmp3 = "*??*???*?"
  6099.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & vbCr
  6100.    Tmp3 = "*Under*"
  6101.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & vbCr
  6102.    Tmp3 = "*sky*"
  6103.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & vbCr
  6104.    Tmp3 = "*lights"
  6105.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & vbCr
  6106.    Tmp3 = "??der*sky*ligh??*"
  6107.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & vbCr
  6108.    Tmp3 = "Under?the * s??,*"
  6109.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & vbCr
  6110.    Tmp3 = "[U-U][a-z][a-z][a-z][a-z]?the *"
  6111.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & vbCr
  6112.    Tmp3 = "[U-U][!A-Z][^A-Z][^A-Z][!A-Z]?the *[s-s]"
  6113.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & vbCr
  6114.    Tmp3 = "~55~6E*~73"
  6115.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & vbCr
  6116.    Tmp3 = "[Uu][Nn][dD][eE][opqrst]?the *[rstu]"
  6117.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & vbCr
  6118.    Tmp3 = "Under?the *[~72~73~74~75]"
  6119.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & vbCr & vbCr
  6120.    Tmp3 = "*under*"
  6121.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & vbCr
  6122.    Tmp3 = "Under*sun"
  6123.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & vbCr
  6124.    Tmp3 = "Under t??e*"
  6125.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & vbCr
  6126.    Tmp3 = "[U-U][!a-z][^A-Z][^A-Z][!A-Z]?the *[!s-s]"
  6127.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & vbCr
  6128.    Tmp3 = "~55~6G*~73"
  6129.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & vbCr
  6130.    Tmp3 = "[Uu][Nn][dD][eE][opqrst]?the *[rStu]"
  6131.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & vbCr
  6132.    Tmp3 = "Under?the *[~72~53~74~75]"
  6133.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & vbCr & vbCr
  6134.    Tmp3 = "Under?the * s??,*"
  6135.    cStartBasisTimer
  6136.    For i = 1 To Item
  6137.       j = cPatternExtMatch(Tmp2, Tmp3)
  6138.    Next i
  6139.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6140.    Label3.Caption = Tmp1
  6141. End Sub
  6142. Private Sub TestPatternMatch()
  6143.    Dim Title      As String
  6144.    Dim Tmp        As String
  6145.    Dim Tmp1       As String
  6146.    Dim Tmp2       As String
  6147.    Dim Tmp3       As String
  6148.    Dim i          As Integer
  6149.    Dim j          As Integer
  6150.    Tmp2 = "Under the blue sky, the sun lights"
  6151.    Tmp1 = "PatternMatch '" & Tmp2 & "' with" & vbCr & vbCr
  6152.    Tmp3 = "*"
  6153.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & vbCr
  6154.    Tmp3 = "*??*???*?"
  6155.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & vbCr
  6156.    Tmp3 = "*Under*"
  6157.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & vbCr
  6158.    Tmp3 = "*sky*"
  6159.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & vbCr
  6160.    Tmp3 = "*lights"
  6161.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & vbCr
  6162.    Tmp3 = "??der*sky*ligh??*"
  6163.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & vbCr
  6164.    Tmp3 = "Under?the * s??,*"
  6165.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & vbCr & vbCr
  6166.    Tmp3 = "*under*"
  6167.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & vbCr
  6168.    Tmp3 = "Under*sun"
  6169.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & vbCr
  6170.    Tmp3 = "Under t??e*"
  6171.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & vbCr & vbCr
  6172.    Tmp3 = "Under?the * s??,*"
  6173.    cStartBasisTimer
  6174.    For i = 1 To Item
  6175.       j = cPatternMatch(Tmp2, Tmp3)
  6176.    Next i
  6177.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6178.    Label3.Caption = Tmp1
  6179. End Sub
  6180. Private Sub TestProperName()
  6181.    Dim Title      As String
  6182.    Dim Tmp        As String
  6183.    Dim Tmp1       As String
  6184.    Dim Tmp2       As String
  6185.    Dim i          As Integer
  6186.    Dim j          As Integer
  6187.    Tmp = Text1.Text
  6188.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & vbCr & vbCr
  6189.    Tmp = "John fitz,jr"
  6190.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & vbCr & vbCr
  6191.    Tmp = "john Fitz, jr"
  6192.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & vbCr & vbCr
  6193.    Tmp = "macdonald"
  6194.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & vbCr & vbCr
  6195.    Tmp = "mac donald"
  6196.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & vbCr & vbCr
  6197.                   
  6198.    cStartBasisTimer
  6199.    For i = 1 To Item
  6200.       Tmp2 = cProperName(Tmp)
  6201.    Next i
  6202.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6203.    Label3.Caption = Tmp1
  6204. End Sub
  6205. Private Sub TestProperName2()
  6206.    Dim Title      As String
  6207.    Dim Tmp        As String
  6208.    Dim Tmp1       As String
  6209.    Dim Tmp2       As String
  6210.    Dim i          As Integer
  6211.    Dim j          As Integer
  6212.    Tmp = Text1.Text
  6213.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", 0) & "'" & vbCr & vbCr
  6214.    Tmp = "JOHN FITZ,JR"
  6215.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", PN_UPPERCASE Or PN_PUNCTUATION) & "'" & vbCr & vbCr
  6216.    Tmp = "john Fitz,jr"
  6217.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", PN_PUNCTUATION) & "'" & vbCr & vbCr
  6218.    Tmp = "macdonald"
  6219.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", 0) & "'" & vbCr & vbCr
  6220.    Tmp = "mac donald"
  6221.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", 0) & "'" & vbCr & vbCr
  6222.    Tmp = "a.l. greene jr."
  6223.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", PN_PUNCTUATION) & "'" & vbCr & vbCr
  6224.    Tmp = "shale and sandstone and till"
  6225.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "the/of/a/an/and", PN_PUNCTUATION) & "'" & vbCr & vbCr
  6226.    Tmp = "a sandstone or a shale"
  6227.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "the/or/of/a/an/and", PN_PUNCTUATION) & "'" & vbCr & vbCr
  6228.    Tmp = "RR2 BARRHEAD"
  6229.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "rr2", PN_UPPERCASE Or PN_PUNCTUATION Or PN_KEEP_ORIGINAL) & "'" & vbCr & vbCr
  6230.    Tmp = "ANDY MACDONALD"
  6231.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "mac", PN_UPPERCASE Or PN_PUNCTUATION Or PN_KEEP_ORIGINAL Or PN_ONLY_LEADER_SPACE) & "'" & vbCr & vbCr
  6232.                   
  6233.    cStartBasisTimer
  6234.    For i = 1 To Item
  6235.       Tmp2 = cProperName2(Tmp, "", 0)
  6236.    Next i
  6237.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6238.    Label3.Caption = Tmp1
  6239. End Sub
  6240. Private Sub TestRcsCountFileDir()
  6241.    Dim Title      As String
  6242.    Dim Tmp        As String
  6243.    Dim Tmp1       As String
  6244.    Dim Tmp2       As String
  6245.    Dim i          As Integer
  6246.    Dim j          As Integer
  6247.    Dim k          As Integer
  6248.    Tmp1 = ""
  6249.    Tmp1 = Tmp1 & "Total directories in C: is " & cRcsCountFileDir(False, "C:", "", True) & vbCr
  6250.    Tmp1 = Tmp1 & "Total directories in D: is " & cRcsCountFileDir(False, "D:", "", True) & vbCr
  6251.    Tmp1 = Tmp1 & vbCr
  6252.    Tmp1 = Tmp1 & "Total files in C: is " & cRcsCountFileDir(True, "C:", "", True) & vbCr
  6253.    Tmp1 = Tmp1 & "Total files in D: is " & cRcsCountFileDir(True, "D:", "", True) & vbCr
  6254.    Tmp1 = Tmp1 & vbCr
  6255.    Tmp1 = Tmp1 & "Total files in C:*.DAT is " & cRcsCountFileDir(True, "C:", "*.DAT", True) & vbCr
  6256.    Tmp1 = Tmp1 & "Total files in D:*.DAT is " & cRcsCountFileDir(True, "D:", "*.DAT", True) & vbCr
  6257.    Tmp1 = Tmp1 & vbCr
  6258.    Tmp1 = Tmp1 & "Total directories in C:\ is " & cRcsCountFileDir(False, "C:", "", False) & vbCr
  6259.    Tmp1 = Tmp1 & "Total directories in D:\ is " & cRcsCountFileDir(False, "D:", "", False) & vbCr
  6260.    Tmp1 = Tmp1 & vbCr
  6261.    Tmp1 = Tmp1 & "Total files in C:\ is " & cRcsCountFileDir(True, "C:", "", False) & vbCr
  6262.    Tmp1 = Tmp1 & "Total files in D:\ is " & cRcsCountFileDir(True, "D:", "", False) & vbCr
  6263.    Tmp1 = Tmp1 & vbCr
  6264.    Tmp1 = Tmp1 & "Total files in C:\*.DAT is " & cRcsCountFileDir(True, "C:", "*.DAT", False) & vbCr
  6265.    Tmp1 = Tmp1 & "Total files in D:\*.DAT is " & cRcsCountFileDir(True, "D:", "*.DAT", False) & vbCr
  6266.    Tmp1 = Tmp1 & vbCr
  6267.    cStartBasisTimer
  6268.    For i = 1 To 10
  6269.       k = cRcsCountFileDir(False, "C:", "", False)
  6270.    Next i
  6271.    Tmp1 = Tmp1 & "speed for " & 10 & " = " & cReadBasisTimer() & " ms"
  6272.    Label3.Caption = Tmp1
  6273. End Sub
  6274. Private Sub TestRcsFilesSize()
  6275.    Dim Title      As String
  6276.    Dim Tmp        As String
  6277.    Dim Tmp1       As String
  6278.    Dim Tmp2       As String
  6279.    Dim i          As Integer
  6280.    Dim j          As Integer
  6281.    Dim k          As Long
  6282.    Dim Size1      As Double
  6283.    Dim Size2      As Double
  6284.    Tmp1 = ""
  6285.    Tmp1 = Tmp1 & "Size of files c:\*.* is " & cRcsFilesSize("c:\", "*.*", False) & vbCr
  6286.    Tmp1 = Tmp1 & "Size of files c:\*.exe is " & cRcsFilesSize("c:\", "*.exe", False) & vbCr
  6287.    Tmp1 = Tmp1 & "Size of files c:\*.com is " & cRcsFilesSize("c:\", "*.com", False) & vbCr
  6288.    Tmp1 = Tmp1 & vbCr
  6289.    Tmp1 = Tmp1 & "Size of files c:\*.* on disk is " & cRcsFilesSizeOnDisk("c:\", "*.*", False) & vbCr
  6290.    Tmp1 = Tmp1 & "Size of files c:\*.exe on disk is " & cRcsFilesSizeOnDisk("c:\", "*.exe", False) & vbCr
  6291.    Tmp1 = Tmp1 & "Size of files c:\*.com on disk is " & cRcsFilesSizeOnDisk("c:\", "*.com", False) & vbCr
  6292.    Tmp1 = Tmp1 & vbCr
  6293.    Tmp1 = Tmp1 & "Slack of files c:\*.* on disk is " & cRcsFilesSlack("c:\", "*.*", False, Size1, Size2) & " %" & vbCr
  6294.    Tmp1 = Tmp1 & "Slack of files c:\*.exe on disk is " & cRcsFilesSlack("c:\", "*.exe", False, Size1, Size2) & " %" & vbCr
  6295.    Tmp1 = Tmp1 & "Slack of files c:\*.com on disk is " & cRcsFilesSlack("c:\", "*.com", False, Size1, Size2) & " %" & vbCr
  6296.    Tmp1 = Tmp1 & vbCr
  6297.    Tmp1 = Tmp1 & "Size of files starting with c:\*.* is " & cRcsFilesSize("c:\", "*.*", True) & vbCr
  6298.    Tmp1 = Tmp1 & "Size of files starting with c:\*.exe is " & cRcsFilesSize("c:\", "*.exe", True) & vbCr
  6299.    Tmp1 = Tmp1 & "Size of files starting with c:\*.com is " & cRcsFilesSize("c:\", "*.com", True) & vbCr
  6300.    Tmp1 = Tmp1 & vbCr
  6301.    Tmp1 = Tmp1 & "Size of files starting with c:\*.* on disk is " & cRcsFilesSizeOnDisk("c:\", "*.*", True) & vbCr
  6302.    Tmp1 = Tmp1 & "Size of files starting with c:\*.exe on disk is " & cRcsFilesSizeOnDisk("c:\", "*.exe", True) & vbCr
  6303.    Tmp1 = Tmp1 & "Size of files starting with c:\*.com on disk is " & cRcsFilesSizeOnDisk("c:\", "*.com", True) & vbCr
  6304.    Tmp1 = Tmp1 & vbCr
  6305.    Tmp1 = Tmp1 & "Slack of files starting with c:\*.* on disk is " & cRcsFilesSlack("c:\", "*.*", True, Size1, Size2) & " %" & vbCr
  6306.    Tmp1 = Tmp1 & "Slack of files starting with c:\*.exe on disk is " & cRcsFilesSlack("c:\", "*.exe", True, Size1, Size2) & " %" & vbCr
  6307.    Tmp1 = Tmp1 & "Slack of files starting with c:\*.com on disk is " & cRcsFilesSlack("c:\", "*.com", True, Size1, Size2) & " %" & vbCr
  6308.    Tmp1 = Tmp1 & vbCr
  6309.    cStartBasisTimer
  6310.    For i = 1 To 10
  6311.       k = cRcsFilesSize("c:\", "*.*", False)
  6312.    Next i
  6313.    Tmp1 = Tmp1 & "speed for " & 10 & " = " & cReadBasisTimer() & " ms"
  6314.    Label3.Caption = Tmp1
  6315. End Sub
  6316. Private Sub TestReadLanguage()
  6317.    Load frmLng
  6318.    Call cShowWindow(frmLng.hWnd, 1, 340)
  6319.    frmLng.Show
  6320. End Sub
  6321. Private Sub TestRegistrationKey()
  6322.    Dim Title      As String
  6323.    Dim Tmp        As String
  6324.    Dim Tmp1       As String
  6325.    Dim Tmp2       As String
  6326.    Dim Tmp3       As String
  6327.    Dim i          As Integer
  6328.    Dim j          As Long
  6329.    Tmp2 = "T2WIN-16"
  6330.    Tmp3 = "12345"
  6331.    Tmp = Text1.Text
  6332.    Tmp1 = "Registration key for '" & Tmp2 & "' with '" & Tmp3 & "' is " & cRegistrationKey(Tmp2, Val(Tmp3)) & vbCr & vbCr
  6333.    Tmp1 = Tmp1 & "Registration key for '" & cBlockCharFromLeft(Tmp2, 1) & "n" & "' with '" & Tmp3 & "' is " & cRegistrationKey(cBlockCharFromLeft(Tmp2, 1) + "n", Val(Tmp3)) & vbCr & vbCr
  6334.    Tmp1 = Tmp1 & "Registration key for '" & Tmp & "' with '" & Tmp3 & "' is " & cRegistrationKey(Tmp, Val(Tmp3)) & vbCr & vbCr
  6335.    Tmp1 = Tmp1 & "Registration key for '" & LCase$(Tmp2) & "' with '" & Tmp3 & "' is " & cRegistrationKey(LCase$(Tmp2), Val(Tmp3)) & vbCr & vbCr
  6336.    Tmp1 = Tmp1 & "Registration key for '" & LCase$(Tmp) & "' with '" & Tmp3 & "' is " & cRegistrationKey(LCase$(Tmp), Val(Tmp3)) & vbCr & vbCr
  6337.    Tmp1 = Tmp1 & "Registration key for '" & Left$(Tmp2, 3) & "' with '" & Tmp3 & "' is " & cRegistrationKey(Left$(Tmp2, 3), Val(Tmp3)) & vbCr & vbCr
  6338.    cStartBasisTimer
  6339.    For i = 1 To Item
  6340.       j = cRegistrationKey(Tmp2, Val(Tmp3))
  6341.    Next i
  6342.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6343.    Label3.Caption = Tmp1
  6344. End Sub
  6345. Private Sub TestRemoveBlockChar()
  6346.    Dim Title      As String
  6347.    Dim Tmp        As String
  6348.    Dim Tmp1       As String
  6349.    Dim Tmp2       As String
  6350.    Dim i          As Integer
  6351.    Dim j          As Integer
  6352.    Tmp = Text1.Text
  6353.    Title = "Removing 3 chars from the 7 of [" & Tmp & "] is "
  6354.    Tmp = cRemoveBlockChar(Tmp, 7, 3)
  6355.    Tmp1 = Title & Tmp & vbCr & vbCr
  6356.    cStartBasisTimer
  6357.    For i = 1 To Item
  6358.       Tmp = cRemoveBlockChar(Tmp, 1, 2)
  6359.    Next i
  6360.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6361.    Label3.Caption = Tmp1
  6362. End Sub
  6363. Private Sub TestRemoveOneChar()
  6364.    Dim Title      As String
  6365.    Dim Tmp        As String
  6366.    Dim Tmp1       As String
  6367.    Dim Tmp2       As String
  6368.    Dim i          As Integer
  6369.    Dim j          As Integer
  6370.    Tmp = Text1.Text
  6371.    Title = "Removing the 7 char of [" & Tmp & "] is "
  6372.    Tmp = cRemoveOneChar(Tmp, 7)
  6373.    Tmp1 = Title & Tmp & vbCr & vbCr
  6374.    cStartBasisTimer
  6375.    For i = 1 To Item
  6376.       Tmp = cRemoveOneChar(Tmp, 1)
  6377.    Next i
  6378.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6379.    Label3.Caption = Tmp1
  6380. End Sub
  6381. Private Sub TestRenameFile()
  6382.    Dim Title      As String
  6383.    Dim Tmp        As String
  6384.    Dim Tmp1       As String
  6385.    Dim Tmp2       As String
  6386.    Dim i          As Integer
  6387.    Dim j          As Integer
  6388.    j = cKillFile("XY~YX~XY.~~~")
  6389.    j = cKillFile("XY-YX-XY.---")
  6390.    Close #1
  6391.    Open "XY~YX~XY.~~~" For Output As #1
  6392.    Print #1, "this is a test";
  6393.    Close #1
  6394.    Tmp1 = "File XY~YX~XY.~~~ " & IIf(cRenameFile("XY~YX~XY.~~~", "XY-YX-XY.---") = True, "renamed in XY-YX-XY.---", "is not renamed") & vbCr & vbCr
  6395.    cStartBasisTimer
  6396.    For i = 1 To ItemFile
  6397.       j = cRenameFile("XY~YX~XY.~~~", "XY-YX-XY.---")
  6398.    Next i
  6399.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6400.    Label3.Caption = Tmp1
  6401. End Sub
  6402. Private Sub TestResizeString()
  6403.    Dim Title      As String
  6404.    Dim Tmp        As String
  6405.    Dim Tmp1       As String
  6406.    Dim Tmp2       As String
  6407.    Dim i          As Integer
  6408.    Dim j          As Integer
  6409.    Tmp = Text1.Text
  6410.    Tmp1 = Tmp & " is resized from " & Len(Tmp) & " to 5 chars " & cResizeString(Tmp, 5) & vbCr & vbCr
  6411.    cStartBasisTimer
  6412.    For i = 1 To Item
  6413.       Tmp2 = cResizeString(Tmp, 3)
  6414.    Next i
  6415.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6416.    Label3.Caption = Tmp1
  6417. End Sub
  6418. Private Sub TestResizeStringAndFill()
  6419.    Dim Title      As String
  6420.    Dim Tmp        As String
  6421.    Dim Tmp1       As String
  6422.    Dim Tmp2       As String
  6423.    Dim i          As Integer
  6424.    Dim j          As Integer
  6425.    Tmp = Text1.Text
  6426.    Tmp1 = Tmp & " is resized from " & Len(Tmp) & " to 35 chars and lengthened with @ is " & vbCr & vbCr & cResizeStringAndFill(Tmp, 35, "@") & vbCr & vbCr
  6427.    cStartBasisTimer
  6428.    For i = 1 To Item
  6429.       Tmp2 = cResizeStringAndFill(Tmp, 35, "@")
  6430.    Next i
  6431.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6432.    Label3.Caption = Tmp1
  6433. End Sub
  6434. Private Sub TestReverse()
  6435.    Dim Title      As String
  6436.    Dim Tmp        As String
  6437.    Dim Tmp1       As String
  6438.    Dim Tmp2       As String
  6439.    Dim i          As Integer
  6440.    Dim j          As Integer
  6441.    Tmp = Text1.Text
  6442.    Title = "Reverse of [" & Tmp & "] is "
  6443.    Tmp1 = Title & cReverse(Tmp) & vbCr & vbCr
  6444.    cStartBasisTimer
  6445.    For i = 1 To Item
  6446.       Tmp2 = cReverse(Tmp)
  6447.    Next i
  6448.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6449.    Label3.Caption = Tmp1
  6450. End Sub
  6451. Private Sub TestReverseAllBits()
  6452.    Dim Title      As String
  6453.    Dim Tmp        As String
  6454.    Dim Tmp1       As String
  6455.    Dim Tmp2       As String
  6456.    Dim i          As Integer
  6457.    Dim j          As Integer
  6458.    Tmp = Text1.Text
  6459.    Title = "Reverse all bits of [" & Tmp & "] is "
  6460.    Call cReverseAllBits(Tmp)
  6461.    Tmp1 = Title & Tmp & vbCr & vbCr
  6462.    Title = "Reverse all bits of [" & Tmp & "] is "
  6463.    Call cReverseAllBits(Tmp)
  6464.    Tmp1 = Tmp1 & Title & Tmp & vbCr & vbCr
  6465.    cStartBasisTimer
  6466.    For i = 1 To Item
  6467.       Call cReverseAllBits(Tmp)
  6468.    Next i
  6469.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6470.    Label3.Caption = Tmp1
  6471. End Sub
  6472. Private Sub TestReverseAllBitsByChar()
  6473.    Dim Title      As String
  6474.    Dim Tmp        As String
  6475.    Dim Tmp1       As String
  6476.    Dim Tmp2       As String
  6477.    Dim i          As Integer
  6478.    Dim j          As Integer
  6479.    Tmp = Text1.Text
  6480.    Title = "Reverse all bits by char of [" & Tmp & "] is "
  6481.    Call cReverseAllBitsByChar(Tmp)
  6482.    Tmp1 = Title & Tmp & vbCr & vbCr
  6483.    Title = "Reverse all bits by char of [" & Tmp & "] is "
  6484.    Call cReverseAllBitsByChar(Tmp)
  6485.    Tmp1 = Tmp1 & Title & Tmp & vbCr & vbCr
  6486.    cStartBasisTimer
  6487.    For i = 1 To Item
  6488.       Call cReverseAllBitsByChar(Tmp)
  6489.    Next i
  6490.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6491.    Label3.Caption = Tmp1
  6492. End Sub
  6493. Private Sub TestReverseSortI()
  6494.    Dim Title      As String
  6495.    Dim Tmp        As String
  6496.    Dim Tmp1       As String
  6497.    Dim Tmp2       As String
  6498.    Dim i          As Integer
  6499.    Dim j          As Integer
  6500.    Dim m          As Integer
  6501.    ReDim array(ItemMean) As Integer
  6502.    Randomize Timer
  6503.    For i = LBound(array) To UBound(array)
  6504.       array(i) = RandI * Rnd(1)
  6505.       List1.AddItem "" & array(i)
  6506.    Next i
  6507.    j = cReverseSortI(array())
  6508.    For i = LBound(array) To UBound(array)
  6509.       List2.AddItem "" & array(i)
  6510.    Next i
  6511.    cStartBasisTimer
  6512.    For i = 1 To ItemFile
  6513.       j = cReverseSortI(array())
  6514.    Next i
  6515.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6516.    Label3.Caption = Tmp1
  6517. End Sub
  6518. Private Sub TestRndX()
  6519.    Dim Title      As String
  6520.    Dim Tmp        As String
  6521.    Dim Tmp1       As String
  6522.    Dim Tmp2       As String
  6523.    Dim i          As Integer
  6524.    Dim j          As Integer
  6525.    Call cRndInit(-1)
  6526.    Tmp1 = "Some random Integer number" & vbCr & vbCr
  6527.    For i = 1 To 2
  6528.       Tmp1 = Tmp1 & cRndI() & vbCr
  6529.    Next i
  6530.    Tmp1 = Tmp1 & vbCr
  6531.    Tmp1 = Tmp1 & "Some random Long number" & vbCr & vbCr
  6532.    For i = 1 To 2
  6533.       Tmp1 = Tmp1 & cRndL() & vbCr
  6534.    Next i
  6535.    Tmp1 = Tmp1 & vbCr
  6536.    Tmp1 = Tmp1 & "Some random Single number" & vbCr & vbCr
  6537.    For i = 1 To 2
  6538.       Tmp1 = Tmp1 & cRndS() & vbCr
  6539.    Next i
  6540.    Tmp1 = Tmp1 & vbCr
  6541.    Tmp1 = Tmp1 & "Some random Double number" & vbCr & vbCr
  6542.    For i = 1 To 2
  6543.       Tmp1 = Tmp1 & cRndD() & vbCr
  6544.    Next i
  6545.    Tmp1 = Tmp1 & vbCr
  6546.    Tmp1 = Tmp1 & "Some random Double number between 0.0 and 1.0" & vbCr & vbCr
  6547.    For i = 1 To 2
  6548.       Tmp1 = Tmp1 & cRnd() & vbCr
  6549.    Next i
  6550.    Tmp1 = Tmp1 & vbCr
  6551.    cStartBasisTimer
  6552.    For i = 1 To Item
  6553.       j = cRndI()
  6554.    Next i
  6555.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6556.    Label3.Caption = Tmp1
  6557. End Sub
  6558. Private Sub TestRtoA()
  6559.    Dim Tmp        As String
  6560.    Dim Tmp1       As String
  6561.    Tmp = UCase$(cArabicToRoman(Year(Int(Now))))
  6562.    Tmp1 = Tmp & " in Arabic is " & cRomanToArabic(LCase$(Tmp)) & vbCr
  6563.    Tmp = UCase$(cArabicToRoman(Year(Int(Now)) - 1))
  6564.    Tmp1 = Tmp1 & Tmp & " in Arabic is " & cRomanToArabic(LCase$(Tmp)) & vbCr
  6565.    Tmp = UCase$(cArabicToRoman(Year(Int(Now)) + 1))
  6566.    Tmp1 = Tmp1 & Tmp & " in Arabic is " & cRomanToArabic(LCase$(Tmp)) & vbCr
  6567.    Label3.Caption = Tmp1
  6568. End Sub
  6569. Private Sub TestSearchI()
  6570.    Dim Title      As String
  6571.    Dim Tmp        As String
  6572.    Dim Tmp1       As String
  6573.    Dim Tmp2       As String
  6574.    Dim i          As Integer
  6575.    Dim j          As Integer
  6576.    Dim m          As Integer
  6577.    ReDim array(20) As Integer
  6578.    Call cRndInit(-1)
  6579.    For i = LBound(array) To UBound(array)
  6580.       array(i) = cRndI()
  6581.       List1.AddItem "" & array(i)
  6582.    Next i
  6583.    Tmp1 = Tmp1 & "Search '" & array(5) & "' is " & cSearchI(array(), array(5)) & vbCr
  6584.    Tmp1 = Tmp1 & "Search '" & array(10) & "' is " & cSearchI(array(), array(10)) & vbCr
  6585.    Tmp1 = Tmp1 & "Search '" & array(15) & "' is " & cSearchI(array(), array(15)) & vbCr
  6586.    Tmp1 = Tmp1 & "Search '" & array(20) & "' is " & cSearchI(array(), array(20)) & vbCr
  6587.    Tmp1 = Tmp1 & "Search '" & -1234 & "' is " & cSearchI(array(), -1234) & vbCr
  6588.    cStartBasisTimer
  6589.    For i = 1 To ItemFile
  6590.       j = cSearchI(array(), array(1))
  6591.    Next i
  6592.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6593.    Label3.Caption = Tmp1
  6594. End Sub
  6595. Private Sub TestSerial()
  6596.    Dim Tmp           As String
  6597.    Dim Tmp1          As String
  6598.    Dim getSD         As tagSERIALDATA
  6599.    Dim putSD         As tagSERIALDATA
  6600.    Dim i             As Integer
  6601.    Dim j             As Integer
  6602.    Call CreateFile
  6603.    Tmp1 = "TEST.DAT"
  6604.    Tmp = Tmp & "File '" & Tmp1 & "' is " & IIf(cIsSerial(Tmp1) = True, "serialized", "not serialized") & vbCr & vbCr
  6605.    putSD.Description1 = "T2WIN-16 demonstration"
  6606.    putSD.Description2 = "Under the blue sky, the sun lights"
  6607.    putSD.Number = 136
  6608.    Tmp = Tmp & "Put/Modify '" & Trim$(putSD.Description1) & "' - '" & Trim$(putSD.Description2) & "' - '" & putSD.Number & "'" & vbCr & "into file '" & Tmp1 & "' is " & IIf(cSerialPut(Tmp1, putSD), "OK", "KO") & vbCr
  6609.    i = cSerialGet(Tmp1, getSD)
  6610.    Tmp = Tmp & "Get from '" & Tmp1 & "' is : " & vbCr
  6611.    Tmp = Tmp & "  description 1 : " & Trim$(getSD.Description1) & vbCr
  6612.    Tmp = Tmp & "  description 2 : " & Trim$(getSD.Description2) & vbCr
  6613.    Tmp = Tmp & "  number : " & getSD.Number & vbCr & vbCr
  6614.    Tmp = Tmp & "Add 2 to serialized number part into file '" & Tmp1 & "' is " & IIf(cSerialInc(Tmp1, 2), "OK", "KO") & vbCr
  6615.    i = cSerialGet(Tmp1, getSD)
  6616.    Tmp = Tmp & "Get from '" & Tmp1 & "' is : " & vbCr
  6617.    Tmp = Tmp & "  description 1 : " & Trim$(getSD.Description1) & vbCr
  6618.    Tmp = Tmp & "  description 2 : " & Trim$(getSD.Description2) & vbCr
  6619.    Tmp = Tmp & "  number : " & getSD.Number & vbCr & vbCr
  6620.    Tmp = Tmp & "Substract 9 to serialized number part into file '" & Tmp1 & "' is " & IIf(cSerialInc(Tmp1, -9), "OK", "KO") & vbCr
  6621.    i = cSerialGet(Tmp1, getSD)
  6622.    Tmp = Tmp & "Get from '" & Tmp1 & "' is : " & vbCr
  6623.    Tmp = Tmp & "  description 1 : " & Trim$(getSD.Description1) & vbCr
  6624.    Tmp = Tmp & "  description 2 : " & Trim$(getSD.Description2) & vbCr
  6625.    Tmp = Tmp & "  number : " & getSD.Number & vbCr & vbCr
  6626.    Tmp = Tmp & "File '" & Tmp1 & "' is " & IIf(cIsSerial(Tmp1) = True, "serialized", "not serialized") & vbCr & vbCr
  6627.    cStartBasisTimer
  6628.    For i = 1 To ItemFile
  6629.       j = cSerialGet(Tmp1, getSD)
  6630.    Next i
  6631.    Tmp = Tmp & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6632.    Label3.Caption = Tmp
  6633. End Sub
  6634. Private Sub TestSetAllBits()
  6635.    Dim Title      As String
  6636.    Dim Tmp        As String
  6637.    Dim Tmp1       As String
  6638.    Dim Tmp2       As String
  6639.    Dim i          As Integer
  6640.    Dim j          As Integer
  6641.    Tmp = Text1.Text
  6642.    Title = "Set all bits of [" & Tmp & "] on True is "
  6643.    Call cSetAllBits(Tmp, True)
  6644.    Tmp1 = Title & "[" & Tmp & "] " & vbCr & vbCr
  6645.    Title = "Set all bits of [" & Tmp & "] on False is "
  6646.    Call cSetAllBits(Tmp, False)
  6647.    Tmp1 = Tmp1 & Title & "[" & Tmp & "] " & vbCr & vbCr
  6648.    cStartBasisTimer
  6649.    For i = 1 To Item
  6650.       Call cSetAllBits(Tmp, True)
  6651.    Next i
  6652.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6653.    Label3.Caption = Tmp1
  6654. End Sub
  6655. Private Sub TestSetBit()
  6656.    Dim Title      As String
  6657.    Dim Tmp        As String
  6658.    Dim Tmp1       As String
  6659.    Dim Tmp2       As String
  6660.    Dim i          As Integer
  6661.    Dim j          As Integer
  6662.    Tmp = Text1.Text
  6663.    Title = "Set bit 0,5,3 of [" & Tmp & "] on True is "
  6664.    Call cSetBit(Tmp, 0, True)
  6665.    Call cSetBit(Tmp, 5, True)
  6666.    Call cSetBit(Tmp, 3, True)
  6667.    Tmp1 = Tmp1 & Title & "[" & Tmp & "] " & vbCr & vbCr
  6668.    Title = "Set bit 22,30,38 of [" & Tmp & "] on False is "
  6669.    Call cSetBit(Tmp, 22, False)
  6670.    Call cSetBit(Tmp, 30, False)
  6671.    Call cSetBit(Tmp, 38, False)
  6672.    Tmp1 = Tmp1 & Title & "[" & Tmp & "] " & vbCr & vbCr
  6673.    Title = "Set bit 0,5,3 of [" & Tmp & "] on False is "
  6674.    Call cSetBit(Tmp, 0, False)
  6675.    Call cSetBit(Tmp, 5, False)
  6676.    Call cSetBit(Tmp, 3, False)
  6677.    Tmp1 = Tmp1 & Title & "[" & Tmp & "] " & vbCr & vbCr
  6678.    Title = "Set bit 22,30,38 of [" & Tmp & "] on True is "
  6679.    Call cSetBit(Tmp, 22, True)
  6680.    Call cSetBit(Tmp, 30, True)
  6681.    Call cSetBit(Tmp, 38, True)
  6682.    Tmp1 = Tmp1 & Title & "[" & Tmp & "] " & vbCr & vbCr
  6683.    cStartBasisTimer
  6684.    For i = 1 To Item
  6685.       Call cSetBit(Tmp, 7, True)
  6686.    Next i
  6687.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6688.    Label3.Caption = Tmp1
  6689. End Sub
  6690. Private Sub TestSetI()
  6691.    Dim Title      As String
  6692.    Dim Tmp        As String
  6693.    Dim Tmp1       As String
  6694.    Dim Tmp2       As String
  6695.    Dim i          As Integer
  6696.    Dim j          As Integer
  6697.    Dim m          As Double
  6698.    ReDim array(ItemMean) As Integer
  6699.    Randomize Timer
  6700.    For i = LBound(array) To UBound(array)
  6701.       array(i) = 0
  6702.       List1.AddItem "" & array(i)
  6703.    Next i
  6704.    j = cSetI(array(), 1024)
  6705.    For i = LBound(array) To UBound(array)
  6706.       List2.AddItem "" & array(i)
  6707.    Next i
  6708.    Tmp1 = Tmp1 & "Set 1024 to element 1 of an integer array is : " & array(1) & vbCr & vbCr
  6709.    Tmp1 = Tmp1 & "Set 1024 to element " & ItemMean & " of an integer array is : " & array(ItemMean) & vbCr & vbCr
  6710.    cStartBasisTimer
  6711.    For i = 1 To ItemFile
  6712.       j = cSetI(array(), 1.11)
  6713.    Next i
  6714.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6715.    Label3.Caption = Tmp1
  6716. End Sub
  6717. Private Sub TestSortI()
  6718.    Dim Title      As String
  6719.    Dim Tmp        As String
  6720.    Dim Tmp1       As String
  6721.    Dim Tmp2       As String
  6722.    Dim i          As Integer
  6723.    Dim j          As Integer
  6724.    Dim m          As Integer
  6725.    ReDim array(ItemMean) As Integer
  6726.    Randomize Timer
  6727.    For i = LBound(array) To UBound(array)
  6728.       array(i) = RandI * Rnd(1)
  6729.       List1.AddItem "" & array(i)
  6730.    Next i
  6731.    j = cSortI(array())
  6732.    For i = LBound(array) To UBound(array)
  6733.       List2.AddItem "" & array(i)
  6734.    Next i
  6735.    cStartBasisTimer
  6736.    For i = 1 To ItemFile
  6737.       j = cSortI(array())
  6738.    Next i
  6739.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6740.    Label3.Caption = Tmp1
  6741. End Sub
  6742. Private Sub TestSpellMoney()
  6743.    Dim Title      As String
  6744.    Dim Tmp        As String
  6745.    Dim Tmp1       As String
  6746.    Dim Tmp2       As String
  6747.    Dim i          As Integer
  6748.    Dim j          As Integer
  6749.    Dim Units      As String
  6750.    Dim Cents      As String
  6751.    Units = "dollars"
  6752.    Cents = "cents"
  6753.    Tmp1 = "Spelling the following money value " & vbCr & vbCr
  6754.    Tmp1 = Tmp1 & "4.12 is '" & cSpellMoney(4.12, Units, Cents) & "'" & vbCr & vbCr
  6755.    Tmp1 = Tmp1 & "16 is '" & cSpellMoney(16, Units, Cents) & "'" & vbCr & vbCr
  6756.    Tmp1 = Tmp1 & "25 is '" & cSpellMoney(25, Units, Cents) & "'" & vbCr & vbCr
  6757.    Tmp1 = Tmp1 & "34 is '" & cSpellMoney(34, Units, Cents) & "'" & vbCr & vbCr
  6758.    Tmp1 = Tmp1 & "43 is '" & cSpellMoney(43, Units, Cents) & "'" & vbCr & vbCr
  6759.    Tmp1 = Tmp1 & "61 is '" & cSpellMoney(61, Units, Cents) & "'" & vbCr & vbCr
  6760.    Tmp1 = Tmp1 & "98765.43 is '" & cSpellMoney(98765.43, Units, Cents) & "'" & vbCr & vbCr
  6761.    Tmp1 = Tmp1 & "123456789.75 is '" & cSpellMoney(123456789.75, Units, Cents) & "'" & vbCr & vbCr
  6762.    cStartBasisTimer
  6763.    For i = 1 To Item
  6764.       Tmp2 = cSpellMoney(12.34, Units, Cents)
  6765.    Next i
  6766.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6767.    Label3.Caption = Tmp1
  6768. End Sub
  6769. Private Sub TestSplitPath()
  6770.    Dim Title      As String
  6771.    Dim Tmp        As String
  6772.    Dim Tmp1       As String
  6773.    Dim Tmp2       As String
  6774.    Dim Tmp3       As String
  6775.    Dim i          As Integer
  6776.    Dim n          As Integer
  6777.    Dim j          As Long
  6778.    Dim SPLITPATH  As tagSPLITPATH
  6779.    Tmp1 = ""
  6780.    Tmp = "C:\AUTOEXEC.BAT"
  6781.    Tmp1 = Tmp1 & "Split Path " & Tmp & " into four components is :" & vbCr & vbCr
  6782.    n = cSplitPath(Tmp, SPLITPATH)
  6783.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDrive & vbCr
  6784.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDir & vbCr
  6785.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nName & vbCr
  6786.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nExt & vbCr & vbCr
  6787.    Tmp = cGetSystemDirectory() & "\t2win-16.dll"
  6788.    Tmp1 = Tmp1 & "Split Path " & Tmp & " into four components is :" & vbCr & vbCr
  6789.    n = cSplitPath(Tmp, SPLITPATH)
  6790.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDrive & vbCr
  6791.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDir & vbCr
  6792.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nName & vbCr
  6793.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nExt & vbCr & vbCr
  6794.    cStartBasisTimer
  6795.    For i = 1 To Item
  6796.       n = cSplitPath(Tmp, SPLITPATH)
  6797.    Next i
  6798.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & vbCr & vbCr
  6799.    Label3.Caption = Tmp1
  6800. End Sub
  6801. Private Sub TestStringCompress()
  6802.    Dim Title      As String
  6803.    Dim Tmp        As String
  6804.    Dim Tmp1       As String
  6805.    Dim Tmp2       As String
  6806.    Dim Tmp3       As String
  6807.    Dim i          As Integer
  6808.    Dim j          As Long
  6809.    Tmp1 = ""
  6810.    Tmp = "T2WIN-16, T2WIN-16, T2WIN-16, T2WIN-16"
  6811.    Tmp2 = cStringCompress(Tmp)
  6812.    Tmp3 = cStringExpand(Tmp2)
  6813.    Tmp1 = Tmp1 & "String Compress '" & Tmp & "' is " & Format$(Len(Tmp)) & " to " & Format$(Len(Tmp2)) & " bytes." & vbCr
  6814.    Tmp1 = Tmp1 & "String Expand is '" & Tmp3 & "'" & vbCr
  6815.    Tmp1 = Tmp1 & "Compare string contents (not sensitive) is " & IIf(LCase$(Tmp) = LCase$(Tmp3), "same", "not same") & vbCr & vbCr
  6816.    cStartBasisTimer
  6817.    For i = 1 To Item
  6818.       Tmp2 = cStringCompress(Tmp)
  6819.    Next i
  6820.    Tmp3 = cStringExpand(Tmp2)
  6821.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & vbCr & vbCr
  6822.    Label3.Caption = Tmp1
  6823. End Sub
  6824. Private Sub TestStringCRC32()
  6825.    Dim Title      As String
  6826.    Dim Tmp        As String
  6827.    Dim Tmp1       As String
  6828.    Dim Tmp2       As String
  6829.    Dim i          As Integer
  6830.    Dim j          As Integer
  6831.    Dim k          As Long
  6832.    Tmp = Text1.Text
  6833.    Title = "CRC32 for string [" & Tmp & "] is "
  6834.    Tmp1 = Title & Hex$(cStringCRC32(Tmp)) & vbCr & vbCr
  6835.    Title = "CRC32 for string [" & cReverse(Tmp) & "] is "
  6836.    Tmp1 = Tmp1 & Title & Hex$(cStringCRC32(cReverse(Tmp))) & vbCr & vbCr
  6837.    Title = "CRC32 for string [" & LCase$(Tmp) & "] is "
  6838.    Tmp1 = Tmp1 & Title & Hex$(cStringCRC32(LCase$(Tmp))) & vbCr & vbCr
  6839.    Title = "CRC32 for string [" & LCase$(cReverse(Tmp)) & "] is "
  6840.    Tmp1 = Tmp1 & Title & Hex$(cStringCRC32(LCase$(cReverse(Tmp)))) & vbCr & vbCr
  6841.    cStartBasisTimer
  6842.    For i = 1 To Item
  6843.       k = cStringCRC32(Tmp)
  6844.    Next i
  6845.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6846.    Label3.Caption = Tmp1
  6847. End Sub
  6848. Private Sub TestStringSAR()
  6849.    Dim Title      As String
  6850.    Dim Tmp        As String
  6851.    Dim Tmp1       As String
  6852.    Dim Tmp2       As String
  6853.    Dim Tmp3       As String
  6854.    Dim i          As Integer
  6855.    Dim j          As Long
  6856.    Tmp1 = ""
  6857.    Tmp = "T2WIN-16, T2WIN-16, T2WIN-16, T2WIN-16 IS A DLL"
  6858.    Tmp2 = cStringSAR(Tmp, "T2WIN-16", "t2win-16", False)
  6859.    Tmp1 = Tmp1 & "Replace 'T2WIN-16' by 't2win-16'" & vbCr
  6860.    Tmp1 = Tmp1 & "     in" & vbCr
  6861.    Tmp1 = Tmp1 & Tmp & vbCr
  6862.    Tmp1 = Tmp1 & "     is" & vbCr
  6863.    Tmp1 = Tmp1 & Tmp2 & vbCr & vbCr
  6864.    Tmp2 = cStringSAR(Tmp, " TO ", "2", True)
  6865.    Tmp1 = Tmp1 & "Replace ' TO ' by '2'" & vbCr
  6866.    Tmp1 = Tmp1 & "     in" & vbCr
  6867.    Tmp1 = Tmp1 & Tmp & vbCr
  6868.    Tmp1 = Tmp1 & "     is" & vbCr
  6869.    Tmp1 = Tmp1 & Tmp2 & vbCr & vbCr
  6870.    Tmp2 = cStringSAR(Tmp, "T2WIN-16, ", "", True)
  6871.    Tmp1 = Tmp1 & "Replace 'T2WIN-16, ' by ''" & vbCr
  6872.    Tmp1 = Tmp1 & "     in" & vbCr
  6873.    Tmp1 = Tmp1 & Tmp & vbCr
  6874.    Tmp1 = Tmp1 & "     is" & vbCr
  6875.    Tmp1 = Tmp1 & Tmp2 & vbCr & vbCr
  6876.    Tmp2 = cStringSAR(Tmp, "I", "i", False)
  6877.    Tmp1 = Tmp1 & "Replace 'I' by 'i'" & vbCr
  6878.    Tmp1 = Tmp1 & "     in" & vbCr
  6879.    Tmp1 = Tmp1 & Tmp & vbCr
  6880.    Tmp1 = Tmp1 & "     is" & vbCr
  6881.    Tmp1 = Tmp1 & Tmp2 & vbCr & vbCr
  6882.    cStartBasisTimer
  6883.    For i = 1 To Item
  6884.       Tmp2 = cStringSAR(Tmp, "T2WIN-16", "t2win-16", False)
  6885.    Next i
  6886.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & vbCr & vbCr
  6887.    Label3.Caption = Tmp1
  6888. End Sub
  6889. Private Sub TestSubDirectory()
  6890.    Dim Title      As String
  6891.    Dim Tmp        As String
  6892.    Dim Tmp1       As String
  6893.    Dim Tmp2       As String
  6894.    Dim i          As Integer
  6895.    Dim j          As Integer
  6896.    Dim k          As Long
  6897.    Title = "The 7 first directories in this directory are" & vbCr & vbCr
  6898.    Tmp1 = Title
  6899.    Tmp2 = cSubDirectory("*.*", True)
  6900.    For i = 1 To 7
  6901.       Tmp1 = Tmp1 & Tmp2 & vbCr
  6902.       Tmp2 = cSubDirectory("*.*", False)
  6903.    Next i
  6904.    Tmp1 = Tmp1 & vbCr
  6905.    cStartBasisTimer
  6906.    For i = 1 To Item
  6907.       Tmp = cSubDirectory("*.*", True)
  6908.    Next i
  6909.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6910.    Label3.Caption = Tmp1
  6911. End Sub
  6912. Private Sub TestSumI()
  6913.    Dim Title      As String
  6914.    Dim Tmp        As String
  6915.    Dim Tmp1       As String
  6916.    Dim Tmp2       As String
  6917.    Dim i          As Integer
  6918.    Dim j          As Integer
  6919.    Dim m          As Double
  6920.    ReDim array(ItemMean) As Integer
  6921.    Randomize Timer
  6922.    m = 0
  6923.    For i = LBound(array) To UBound(array)
  6924.       array(i) = Int(RandI * Rnd(1))
  6925.       m = m + array(i)
  6926.       List1.AddItem "" & array(i)
  6927.    Next i
  6928.    Tmp1 = "The Sum of a integer array of " & (ItemMean + 1) & " elements is " & vbCr & vbCr & cSumI(array()) & " (" & m & ")" & vbCr & vbCr
  6929.    cStartBasisTimer
  6930.    For i = 1 To ItemFile
  6931.       m = cSumI(array())
  6932.    Next i
  6933.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6934.    Label3.Caption = Tmp1
  6935. End Sub
  6936. Private Sub TestSwap()
  6937.    Dim Title      As String
  6938.    Dim Tmp        As String
  6939.    Dim Tmp1       As String
  6940.    Dim Tmp2       As String
  6941.    Dim i          As Integer
  6942.    Dim j          As Long
  6943.    Dim i1         As Integer
  6944.    Dim i2         As Integer
  6945.    Dim s1         As String
  6946.    Dim s2         As String
  6947.    i1 = 3276
  6948.    i2 = 12345
  6949.    s1 = "Hello"
  6950.    s2 = "World"
  6951.    Tmp1 = "SwapI of [" & i1 & "," & i2 & "] is "
  6952.    Call cSwapI(i1, i2)
  6953.    Tmp1 = Tmp1 + "[" & i1 & "," & i2 & "]" & vbCr
  6954.    Tmp1 = Tmp1 + "SwapI of [" & i1 & "," & i2 & "] is "
  6955.    Call cSwapI(i1, i2)
  6956.    Tmp1 = Tmp1 + "[" & i1 & "," & i2 & "]" & vbCr
  6957.    Tmp1 = Tmp1 + "SwapStr of [" & s1 & "," & s2 & "] is "
  6958.    Call cSwapStr(s1, s2)
  6959.    Tmp1 = Tmp1 + "[" & s1 & "," & s2 & "]" & vbCr
  6960.    Tmp1 = Tmp1 + "SwapStr of [" & s1 & "," & s2 & "] is "
  6961.    Call cSwapStr(s1, s2)
  6962.    Tmp1 = Tmp1 + "[" & s1 & "," & s2 & "]" & vbCr
  6963.    cStartBasisTimer
  6964.    For i = 1 To Item
  6965.       Call cSwapI(i1, i2)
  6966.    Next i
  6967.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6968.    Label3.Caption = Tmp1
  6969. End Sub
  6970. Private Sub TestSysMenuChange(Language As Integer)
  6971.    Call cLngSysMenu(Language, Me.hWnd)
  6972. End Sub
  6973. Private Sub TestTime()
  6974.    Dim Tmp1       As String
  6975.    Dim i          As Integer
  6976.    Dim nNow       As Long
  6977.    Dim nHour      As Integer
  6978.    Dim nMinute    As Integer
  6979.    Dim nSecond    As Integer
  6980.    nHour = Hour(Now)
  6981.    nMinute = Minute(Now)
  6982.    nSecond = Second(Now)
  6983.    nNow = cTimeToScalar(nHour, nMinute, nSecond)
  6984.    Tmp1 = Tmp1 & "Now scalar time is '" & nNow & "'" & vbCr
  6985.    nHour = 0
  6986.    nMinute = 0
  6987.    nSecond = 0
  6988.    Call cScalarToTime(nNow, nHour, nMinute, nSecond)
  6989.    Tmp1 = Tmp1 & "Hour : " & nHour & ", Minute : " & nMinute & ", Second : " & nSecond & vbCr & vbCr
  6990.    nNow = cTimeToScalar(32767, 59, 59)
  6991.    Tmp1 = Tmp1 & "Maximum scalar time is '" & nNow & "'" & vbCr
  6992.    nHour = 0
  6993.    nMinute = 0
  6994.    nSecond = 0
  6995.    Call cScalarToTime(nNow, nHour, nMinute, nSecond)
  6996.    Tmp1 = Tmp1 & "Hour : " & nHour & ", Minute : " & nMinute & ", Second : " & nSecond & vbCr & vbCr
  6997.    cStartBasisTimer
  6998.    For i = 1 To Item
  6999.       nNow = cTimeToScalar(nHour, nMinute, nSecond)
  7000.    Next i
  7001.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7002.    Label3.Caption = Tmp1
  7003. End Sub
  7004. Private Sub TestTimeBetween()
  7005.    Dim Title      As String
  7006.    Dim Tmp        As String
  7007.    Dim Tmp1       As String
  7008.    Dim Tmp2       As String
  7009.    Dim i          As Integer
  7010.    Dim j          As Integer
  7011.    Tmp1 = "The time between 10:00 and 12:01 is " & cTimeBetween(600, 721) & " minutes" & vbCr & vbCr
  7012.    Tmp1 = Tmp1 & "The time between 23:58 and 01:02 is " & cTimeBetween(1438, 62) & " minutes" & vbCr & vbCr
  7013.    cStartBasisTimer
  7014.    For i = 1 To Item
  7015.       j = cTimeBetween(0, 1439)
  7016.    Next i
  7017.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7018.    Label3.Caption = Tmp1
  7019. End Sub
  7020. Private Sub TestTimer()
  7021.    Dim Tmp1          As String
  7022.    Dim Tmp           As String
  7023.    Dim Tmp2          As String
  7024.    Dim i             As Integer
  7025.    Dim j             As Integer
  7026.    Dim k             As Long
  7027.    Dim TimerHandle   As Integer
  7028.    Dim StartOk       As Integer
  7029.    Dim CloseOk       As Integer
  7030.    Tmp1 = "BASIS TIMER" & vbCr & vbCr
  7031.    Tmp1 = Tmp1 & "The elapsed time for a empty loop of 32766 iterations is "
  7032.    cStartBasisTimer
  7033.    For i = 1 To 32766
  7034.    Next i
  7035.    Tmp1 = Tmp1 & cReadBasisTimer() & " ms" & vbCr & vbCr
  7036.    Tmp1 = Tmp1 & "The elapsed time for a integer loop of 32766 iterations is "
  7037.    j = 0
  7038.    cStartBasisTimer
  7039.    For i = 1 To 32766
  7040.       j = j + 1
  7041.    Next i
  7042.    Tmp1 = Tmp1 & cReadBasisTimer() & " ms" & vbCr & vbCr
  7043.    Tmp1 = Tmp1 & "The elapsed time for a long loop of 32766 iterations is "
  7044.    k = 0
  7045.    cStartBasisTimer
  7046.    For i = 1 To 32766
  7047.       k = i * 2&
  7048.    Next i
  7049.    Tmp1 = Tmp1 & cReadBasisTimer() & " ms" & vbCr & vbCr
  7050.    Tmp1 = Tmp1 & "The elapsed time for a string loop of 1000 iterations is "
  7051.    cStartBasisTimer
  7052.    For i = 1 To 1000
  7053.       Tmp2 = Tmp2 + "a"
  7054.    Next i
  7055.    Tmp1 = Tmp1 & cReadBasisTimer() & " ms" & vbCr & vbCr
  7056.    Call cStartBasisTimer
  7057.    StartOk = cSleep(1000)
  7058.    Tmp1 = Tmp1 & "True time for 1 wait second is " & cReadBasisTimer() & " ms" & vbCr & vbCr
  7059.    TimerHandle = cTimerOpen()
  7060.    Tmp1 = Tmp1 & "EXTENDED TIMER (handle is '" & TimerHandle & "')" & vbCr & vbCr
  7061.    Tmp1 = Tmp1 & "The elapsed time for a empty loop of 32766 iterations is "
  7062.    StartOk = cTimerStart(TimerHandle)
  7063.    For i = 1 To 32766
  7064.    Next i
  7065.    Tmp1 = Tmp1 & cTimerRead(TimerHandle) & " ms" & vbCr & vbCr
  7066.    Tmp1 = Tmp1 & "The elapsed time for a integer loop of 32766 iterations is "
  7067.    j = 0
  7068.    StartOk = cTimerStart(TimerHandle)
  7069.    For i = 1 To 32766
  7070.       j = j + 1
  7071.    Next i
  7072.    Tmp1 = Tmp1 & cTimerRead(TimerHandle) & " ms" & vbCr & vbCr
  7073.    Tmp1 = Tmp1 & "The elapsed time for a long loop of 32766 iterations is "
  7074.    k = 0
  7075.    StartOk = cTimerStart(TimerHandle)
  7076.    For i = 1 To 32766
  7077.       k = i * 2&
  7078.    Next i
  7079.    Tmp1 = Tmp1 & cTimerRead(TimerHandle) & " ms" & vbCr & vbCr
  7080.    Tmp1 = Tmp1 & "The elapsed time for a string loop of 1000 iterations is "
  7081.    StartOk = cTimerStart(TimerHandle)
  7082.    For i = 1 To 1000
  7083.       Tmp2 = Tmp2 + "a"
  7084.    Next i
  7085.    Tmp1 = Tmp1 & cTimerRead(TimerHandle) & " ms" & vbCr & vbCr
  7086.    StartOk = cTimerStart(TimerHandle)
  7087.    StartOk = cSleep(1000)
  7088.    Tmp1 = Tmp1 & "True time for 1 wait second is " & cTimerRead(TimerHandle) & " ms" & vbCr & vbCr
  7089.    Label3.Caption = Tmp1
  7090.    CloseOk = cTimerClose(TimerHandle)
  7091. End Sub
  7092. Private Sub TestToggleAllBits()
  7093.    Dim Title      As String
  7094.    Dim Tmp        As String
  7095.    Dim Tmp1       As String
  7096.    Dim Tmp2       As String
  7097.    Dim i          As Integer
  7098.    Dim j          As Integer
  7099.    Tmp = Text1.Text
  7100.    Title = "Toggle all bits of [" & Tmp & "] is "
  7101.    Call cToggleAllBits(Tmp)
  7102.    Tmp1 = Title & "[" & Tmp & "] " & vbCr & vbCr
  7103.    Title = "Toggle all bits of [" & Tmp & "] is "
  7104.    Call cToggleAllBits(Tmp)
  7105.    Tmp1 = Tmp1 & Title & "[" & Tmp & "] " & vbCr & vbCr
  7106.    cStartBasisTimer
  7107.    For i = 1 To Item
  7108.       Call cToggleAllBits(Tmp)
  7109.    Next i
  7110.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7111.    Label3.Caption = Tmp1
  7112. End Sub
  7113. Private Sub TestToggleBit()
  7114.    Dim Title      As String
  7115.    Dim Tmp        As String
  7116.    Dim Tmp1       As String
  7117.    Dim Tmp2       As String
  7118.    Dim i          As Integer
  7119.    Dim j          As Integer
  7120.    Tmp = Text1.Text
  7121.    Title = "Toggle bit 7,22,15 of [" & Tmp & "] is "
  7122.    Call cToggleBit(Tmp, 7)
  7123.    Call cToggleBit(Tmp, 22)
  7124.    Call cToggleBit(Tmp, 15)
  7125.    Tmp1 = Title & "[" & Tmp & "] " & vbCr & vbCr
  7126.    Title = "Toggle bit 7,22,15 of [" & Tmp & "] is "
  7127.    Call cToggleBit(Tmp, 7)
  7128.    Call cToggleBit(Tmp, 22)
  7129.    Call cToggleBit(Tmp, 15)
  7130.    Tmp1 = Tmp1 & Title & "[" & Tmp & "] " & vbCr & vbCr
  7131.    cStartBasisTimer
  7132.    For i = 1 To Item
  7133.       Call cToggleBit(Tmp, i)
  7134.    Next i
  7135.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7136.    Label3.Caption = Tmp1
  7137. End Sub
  7138. Private Sub TestToken()
  7139.    Dim Title      As String
  7140.    Dim Tmp        As String
  7141.    Dim Tmp1       As String
  7142.    Dim Tmp2       As String
  7143.    Dim i          As Integer
  7144.    Dim j          As Integer
  7145.    Tmp = "A/BC\DEF=GHIJ?KLMNO:PQRSTUV"
  7146.    Title = "The 2,4,1,5 blocks of [" & Tmp & "] separated by any one of '/\=?' are " & vbCr
  7147.    Tmp1 = Title & "  2:" & cTokenIn(Tmp, "/\=?", 2) & vbCr & "  4:" & cTokenIn(Tmp, "/\=?", 4) & vbCr & "  1:" & cTokenIn(Tmp, "/\=?", 1) & vbCr & "  5:" & cTokenIn(Tmp, "/\=?", 5) & vbCr & vbCr
  7148.    cStartBasisTimer
  7149.    For i = 1 To Item
  7150.       Tmp2 = cTokenIn(Tmp, "/\=?", 2)
  7151.    Next i
  7152.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7153.    Label3.Caption = Tmp1
  7154. End Sub
  7155. Private Sub TestTrueBetween()
  7156.    Dim Title      As String
  7157.    Dim Tmp        As String
  7158.    Dim Tmp1       As String
  7159.    Dim Tmp2       As String
  7160.    Dim i          As Integer
  7161.    Dim j          As Integer
  7162.    Tmp1 = "601 is not true between 720 and 840 => " & cTrueBetween(601, 720, 840) & vbCr & vbCr
  7163.    Tmp1 = Tmp1 & "601 is true between 540 and 602 => " & cTrueBetween(601, 540, 602) & vbCr & vbCr
  7164.    Tmp1 = Tmp1 & "61 is not true between 61 and 62 => " & cTrueBetween(61, 61, 62) & vbCr & vbCr
  7165.    cStartBasisTimer
  7166.    For i = 1 To Item
  7167.       j = cTrueBetween(720, 0, 1439)
  7168.    Next i
  7169.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7170.    Label3.Caption = Tmp1
  7171. End Sub
  7172. Private Sub TestTruncatePath()
  7173.    Dim Title      As String
  7174.    Dim Tmp        As String
  7175.    Dim Tmp1       As String
  7176.    Dim Tmp2       As String
  7177.    Dim Tmp3       As String
  7178.    Dim i          As Integer
  7179.    Dim j          As Long
  7180.    Tmp1 = ""
  7181.    Tmp1 = Tmp1 & "Truncate the following path with a length of 25" & vbCr & vbCr
  7182.    Tmp = "t2win-16.bas"
  7183.    Tmp2 = cTruncatePath(Tmp, 25)
  7184.    Tmp1 = Tmp1 & Tmp & vbCr & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & vbCr
  7185.    Tmp = "windows\system\t2win-16.bas"
  7186.    Tmp2 = cTruncatePath(Tmp, 25)
  7187.    Tmp1 = Tmp1 & Tmp & vbCr & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & vbCr
  7188.    Tmp = "c:\windows\system\t2win-16.bas"
  7189.    Tmp2 = cTruncatePath(Tmp, 25)
  7190.    Tmp1 = Tmp1 & Tmp & vbCr & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & vbCr
  7191.    Tmp = "c:\windows\system\visual\t2win-16\t2win-16.bas"
  7192.    Tmp2 = cTruncatePath(Tmp, 25)
  7193.    Tmp1 = Tmp1 & Tmp & vbCr & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & vbCr
  7194.    Tmp = "c:\windows\system\visual\source\t2win-16\t2win-16.bas"
  7195.    Tmp2 = cTruncatePath(Tmp, 25)
  7196.    Tmp1 = Tmp1 & Tmp & vbCr & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & vbCr & vbCr
  7197.    Tmp1 = Tmp1 & "Truncate the following path with a length of 35" & vbCr & vbCr
  7198.    Tmp = "t2win-16.bas"
  7199.    Tmp2 = cTruncatePath(Tmp, 35)
  7200.    Tmp1 = Tmp1 & Tmp & vbCr & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & vbCr
  7201.    Tmp = "windows\system\t2win-16.bas"
  7202.    Tmp2 = cTruncatePath(Tmp, 35)
  7203.    Tmp1 = Tmp1 & Tmp & vbCr & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & vbCr
  7204.    Tmp = "c:\windows\system\t2win-16.bas"
  7205.    Tmp2 = cTruncatePath(Tmp, 35)
  7206.    Tmp1 = Tmp1 & Tmp & vbCr & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & vbCr
  7207.    Tmp = "c:\windows\system\visual\t2win-16\t2win-16.bas"
  7208.    Tmp2 = cTruncatePath(Tmp, 35)
  7209.    Tmp1 = Tmp1 & Tmp & vbCr & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & vbCr
  7210.    Tmp = "c:\windows\system\visual\source\t2win-16\t2win-16.bas"
  7211.    Tmp2 = cTruncatePath(Tmp, 35)
  7212.    Tmp1 = Tmp1 & Tmp & vbCr & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & vbCr & vbCr
  7213.    cStartBasisTimer
  7214.    For i = 1 To Item
  7215.       Tmp2 = cTruncatePath(Tmp, 25)
  7216.    Next i
  7217.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & vbCr & vbCr
  7218.    Label3.Caption = Tmp1
  7219. End Sub
  7220. Private Sub TestUncompact()
  7221.    Dim Title      As String
  7222.    Dim Tmp        As String
  7223.    Dim Tmp1       As String
  7224.    Dim Tmp2       As String
  7225.    Dim i          As Integer
  7226.    Dim j          As Integer
  7227.    Tmp = "987654321"
  7228.    Title = "Uncompact '" & Tmp & "' is "
  7229.    Tmp1 = Title & cUncompact(Tmp) & vbCr & vbCr
  7230.    cStartBasisTimer
  7231.    For i = 1 To Item
  7232.       Tmp2 = cUncompact(Tmp)
  7233.    Next i
  7234.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7235.    Label3.Caption = Tmp1
  7236. End Sub
  7237. Private Sub TestUniqueFileName()
  7238.    Dim Title      As String
  7239.    Dim Tmp        As String
  7240.    Dim Tmp1       As String
  7241.    Dim Tmp2       As String
  7242.    Dim i          As Integer
  7243.    Dim j          As Integer
  7244.    Tmp1 = "Generate unique filename with template WN is " & cUniqueFileName("WN") & vbCr & vbCr
  7245.    cStartBasisTimer
  7246.    For i = 1 To Item
  7247.       Tmp2 = cUniqueFileName("WN")
  7248.    Next i
  7249.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7250.    Label3.Caption = Tmp1
  7251. End Sub
  7252. Private Sub TestVersion()
  7253.    Dim Tmp        As String
  7254.    Dim Version    As Single
  7255.    Version = cGetVersion()
  7256.    Tmp = Tmp + "Version is " & Version
  7257.    Label3.Caption = Tmp
  7258. End Sub
  7259. Private Sub TestWalkThruWindow()
  7260.    Dim nClass        As String
  7261.    Dim nCaption      As String
  7262.    Dim nOwnerClass   As String
  7263.    Dim nOwnerCaption As String
  7264.    Dim nOwnerHwnd    As Integer
  7265.    Dim nhWnd         As Integer
  7266.    Dim i             As Integer
  7267.    Frame1.Visible = True
  7268.    List1.Clear
  7269.    List2.Clear
  7270.    List1.FontBold = False
  7271.    List2.FontBold = False
  7272.    nhWnd = cWalkThruWindow(nClass, nCaption, nOwnerHwnd, nOwnerClass, nOwnerCaption, True)
  7273.    Do While (nhWnd <> 0)
  7274.       i = i + 1
  7275.       List1.AddItem "[" & Format$(i, "00") & "] " & Right$("0000" + Hex$(nhWnd), 4) & " " & nCaption & " (" & nClass & ")"
  7276.       List2.AddItem "[" & Format$(i, "00") & "] " & Right$("0000" + Hex$(nOwnerHwnd), 4) & " " & nOwnerCaption & " (" & nOwnerClass & ")"
  7277.       nhWnd = cWalkThruWindow(nClass, nCaption, nOwnerHwnd, nOwnerClass, nOwnerCaption, False)
  7278.    Loop
  7279. End Sub
  7280. Private Sub TestWindowsIni()
  7281.    Dim Tmp        As String
  7282.    Tmp = Tmp + "DateSeparator is " + cGetDateSeparator() + vbCr
  7283.    Tmp = Tmp + "TimeSeparator is " + cGetTimeSeparator() + vbCr
  7284.    Tmp = Tmp + "ListSeparator is " + cGetListSeparator() + vbCr
  7285.    Tmp = Tmp + "DateFormat    is " + cGetDateFormat() + vbCr
  7286.    Tmp = Tmp + "HourFormat    is " + cGetHourFormat() + vbCr
  7287.    Tmp = Tmp + "Currency      is " + cGetCurrency() + vbCr
  7288.    Tmp = Tmp + "Language      is " + cGetLanguage() + vbCr
  7289.    Tmp = Tmp + "Country       is " + cGetCountry() + vbCr
  7290.    Tmp = Tmp + "CountryCode   is " + cGetCountryCode() + vbCr
  7291.    Label3.Caption = Tmp
  7292. End Sub
  7293. Private Sub TestWinINI1()
  7294.    Label3.Caption = cGetDevices() & vbCr & vbCr & "Length = " & Len(cGetDevices())
  7295. End Sub
  7296. Private Sub TestWinINI2()
  7297.    Label3.Caption = cGetPrinterPorts() & vbCr & vbCr & "Length = " & Len(cGetPrinterPorts())
  7298. End Sub
  7299. Private Sub TestWinINI3()
  7300.    Label3.Caption = cGetWinSection("windows") & vbCr & vbCr & "Length = " & Len(cGetWinSection("windows"))
  7301. End Sub
  7302. Private Sub TestHexaToX()
  7303.    Dim Title      As String
  7304.    Dim Tmp        As String
  7305.    Dim Tmp1       As String
  7306.    Dim Tmp2       As String
  7307.    Dim i          As Integer
  7308.    Dim j          As Integer
  7309.    Tmp1 = "Hexa to Integer" & vbCr & vbCr
  7310.    Tmp2 = "0"
  7311.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2I(Tmp2) & vbCr
  7312.    Tmp2 = "1"
  7313.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2I(Tmp2) & vbCr
  7314.    Tmp2 = "A"
  7315.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2I(Tmp2) & vbCr
  7316.    Tmp2 = "A1"
  7317.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2I(Tmp2) & vbCr
  7318.    Tmp2 = "A1B"
  7319.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2I(Tmp2) & vbCr
  7320.    Tmp2 = "7FFF"
  7321.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2I(Tmp2) & vbCr
  7322.    Tmp2 = "A1B2"
  7323.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2I(Tmp2) & vbCr
  7324.    Tmp2 = "FFFF"
  7325.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2I(Tmp2) & vbCr & vbCr
  7326.    Tmp1 = Tmp1 & "Hexa to Long" & vbCr & vbCr
  7327.    Tmp2 = "0"
  7328.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & vbCr
  7329.    Tmp2 = "1"
  7330.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & vbCr
  7331.    Tmp2 = "A"
  7332.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & vbCr
  7333.    Tmp2 = "A1"
  7334.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & vbCr
  7335.    Tmp2 = "A1B"
  7336.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & vbCr
  7337.    Tmp2 = "A1B2"
  7338.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & vbCr
  7339.    Tmp2 = "7FFFFFFF"
  7340.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & vbCr
  7341.    Tmp2 = "B2A1A1B2"
  7342.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & vbCr
  7343.    Tmp2 = "FFFFFFFF"
  7344.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & vbCr & vbCr
  7345.    cStartBasisTimer
  7346.    For i = 1 To Item
  7347.       j = cH2I(Tmp2)
  7348.    Next i
  7349.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7350.    Label3.Caption = Tmp1
  7351. End Sub
  7352. Private Sub TestBinaryToX()
  7353.    Dim Title      As String
  7354.    Dim Tmp        As String
  7355.    Dim Tmp1       As String
  7356.    Dim Tmp2       As String
  7357.    Dim i          As Integer
  7358.    Dim j          As Integer
  7359.    Tmp1 = "Binary to Integer" & vbCr & vbCr
  7360.    Tmp2 = String(1, "1")
  7361.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2I(Tmp2) & vbCr
  7362.    Tmp2 = String(2, "1")
  7363.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2I(Tmp2) & vbCr
  7364.    Tmp2 = String(4, "1")
  7365.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2I(Tmp2) & vbCr
  7366.    Tmp2 = String(8, "1")
  7367.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2I(Tmp2) & vbCr
  7368.    Tmp2 = String(16, "1")
  7369.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2I(Tmp2) & vbCr
  7370.    Tmp2 = "0111111111111111"
  7371.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2I(Tmp2) & vbCr
  7372.    Tmp2 = "0101010101010101"
  7373.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2I(Tmp2) & vbCr
  7374.    Tmp2 = "1010101010101010"
  7375.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2I(Tmp2) & vbCr & vbCr
  7376.    Tmp1 = Tmp1 & "Binary to Long" & vbCr & vbCr
  7377.    Tmp2 = String(1, "1")
  7378.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & vbCr
  7379.    Tmp2 = String(4, "1")
  7380.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & vbCr
  7381.    Tmp2 = String(8, "1")
  7382.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & vbCr
  7383.    Tmp2 = String(16, "1")
  7384.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & vbCr
  7385.    Tmp2 = String(32, "1")
  7386.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & vbCr
  7387.    Tmp2 = "0101010101010101"
  7388.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & vbCr
  7389.    Tmp2 = "1010101010101010"
  7390.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & vbCr
  7391.    Tmp2 = "01010101010101010101010101010101"
  7392.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & vbCr
  7393.    Tmp2 = "10101010101010101010101010101010"
  7394.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & vbCr & vbCr
  7395.    cStartBasisTimer
  7396.    For i = 1 To Item
  7397.       j = cB2I(Tmp2)
  7398.    Next i
  7399.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7400.    Label3.Caption = Tmp1
  7401. End Sub
  7402. Private Sub TestGZIPStringCompress()
  7403.    Dim Title      As String
  7404.    Dim Tmp        As String
  7405.    Dim Tmp1       As String
  7406.    Dim Tmp2       As String
  7407.    Dim Tmp3       As String
  7408.    Dim i          As Integer
  7409.    Dim j          As Long
  7410.    Tmp1 = ""
  7411.    Tmp = "T2WIN-16, T2WIN-16, T2WIN-16, T2WIN-16"
  7412.    Tmp2 = cGZIPStringCompress(Tmp)
  7413.    Tmp3 = cGZIPStringExpand(Tmp2)
  7414.    Tmp1 = Tmp1 & "String Compress '" & Tmp & "' is " & Format$(Len(Tmp)) & " to " & Format$(Len(Tmp2)) & " bytes." & vbCr
  7415.    Tmp1 = Tmp1 & "String Expand is '" & Tmp3 & "'" & vbCr
  7416.    Tmp1 = Tmp1 & "Compare string contents (not sensitive) is " & IIf(LCase$(Tmp) = LCase$(Tmp3), "same", "not same") & vbCr & vbCr
  7417.    cStartBasisTimer
  7418.    For i = 1 To Item
  7419.       Tmp2 = cGZIPStringCompress(Tmp)
  7420.    Next i
  7421.    Tmp3 = cGZIPStringExpand(Tmp2)
  7422.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & vbCr & vbCr
  7423.    Label3.Caption = Tmp1
  7424. End Sub
  7425. Public Sub TestMinNotXI()
  7426.    Dim Title      As String
  7427.    Dim Tmp        As String
  7428.    Dim Tmp1       As String
  7429.    Dim Tmp2       As String
  7430.    Dim i          As Integer
  7431.    Dim j          As Integer
  7432.    Dim m          As Double
  7433.    ReDim array(ItemMean) As Integer
  7434.    Randomize Timer
  7435.    For i = LBound(array) To UBound(array)
  7436.       array(i) = RandI * Rnd(1)
  7437.       List1.AddItem "" & array(i)
  7438.    Next i
  7439.    j = cSortI(array())
  7440.    For i = LBound(array) To UBound(array)
  7441.       List2.AddItem "" & array(i)
  7442.    Next i
  7443.    List2.ListIndex = 0
  7444.    Tmp1 = "The MINNOTX of a integer array of " & (ItemMean + 1) & " elements (not '" & array(LBound(array)) & "') is " & Chr$(13) & Chr$(13) & cMinNotXI(array(), array(LBound(array))) & Chr$(13) & Chr$(13)
  7445.    cStartBasisTimer
  7446.    For i = 1 To ItemFile
  7447.       m = cMinNotXI(array(), array(LBound(array)))
  7448.    Next i
  7449.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  7450.    Label3.Caption = Tmp1
  7451. End Sub
  7452.